ui fix on room

This commit is contained in:
2026-01-05 04:02:51 +01:00
parent 5401a5e302
commit 5b5cedcc98
2 changed files with 19 additions and 57 deletions

View File

@@ -421,28 +421,22 @@ const RoomsApp = (function() {
const supportsDub = !!settings.supportsDub; const supportsDub = !!settings.supportsDub;
if (context === 'header') { if (context === 'header') {
const dubOpt = elements.roomSdToggle if (!elements.roomSdToggle) return;
?.querySelector('.sd-option[data-val="dub"]');
if (!dubOpt) return; elements.roomSdToggle.style.display = supportsDub ? 'flex' : 'none';
dubOpt.style.opacity = supportsDub ? '1' : '0.3';
dubOpt.style.pointerEvents = supportsDub ? 'auto' : 'none';
if (!supportsDub &&
elements.roomSdToggle.getAttribute('data-state') === 'dub') {
if (!supportsDub && elements.roomSdToggle.getAttribute('data-state') === 'dub') {
elements.roomSdToggle.setAttribute('data-state', 'sub'); elements.roomSdToggle.setAttribute('data-state', 'sub');
elements.roomSdToggle.querySelectorAll('.sd-option') elements.roomSdToggle.querySelectorAll('.sd-option').forEach(o => {
.forEach(o => o.classList.toggle('active', o.dataset.val === 'sub')); o.classList.toggle('active', o.dataset.val === 'sub');
});
} }
} }
if (context === 'modal') { if (context === 'modal') {
const dubBtn = elements.modalSdToggle?.querySelector('[data-val="dub"]'); if (!elements.modalSdToggle) return;
if (!dubBtn) return;
dubBtn.classList.toggle('disabled', !supportsDub); elements.modalSdToggle.style.display = supportsDub ? 'flex' : 'none';
if (!supportsDub && configState.category === 'dub') { if (!supportsDub && configState.category === 'dub') {
configState.category = 'sub'; configState.category = 'sub';
@@ -573,6 +567,7 @@ const RoomsApp = (function() {
try { try {
const settings = extensionsStore.settings[extName]; const settings = extensionsStore.settings[extName];
handleDubUI(settings, 'modal'); handleDubUI(settings, 'modal');
const servers = settings.episodeServers?.length const servers = settings.episodeServers?.length
@@ -580,20 +575,6 @@ const RoomsApp = (function() {
: ['Default']; : ['Default'];
renderServerChips(servers); renderServerChips(servers);
const dubBtn = elements.modalSdToggle.querySelector('[data-val="dub"]');
if (dubBtn) {
if (!settings.supportsDub) {
dubBtn.classList.add('disabled');
if(configState.category === 'dub') {
configState.category = 'sub';
updateSDUI();
}
} else {
dubBtn.classList.remove('disabled');
}
}
} catch (e) { } catch (e) {
console.error("Error loading settings", e); console.error("Error loading settings", e);
elements.serverContainer.innerHTML = '<div class="grid-loader" style="color:#ff6b6b">Error loading servers</div>'; elements.serverContainer.innerHTML = '<div class="grid-loader" style="color:#ff6b6b">Error loading servers</div>';

View File

@@ -421,28 +421,22 @@ const RoomsApp = (function() {
const supportsDub = !!settings.supportsDub; const supportsDub = !!settings.supportsDub;
if (context === 'header') { if (context === 'header') {
const dubOpt = elements.roomSdToggle if (!elements.roomSdToggle) return;
?.querySelector('.sd-option[data-val="dub"]');
if (!dubOpt) return; elements.roomSdToggle.style.display = supportsDub ? 'flex' : 'none';
dubOpt.style.opacity = supportsDub ? '1' : '0.3';
dubOpt.style.pointerEvents = supportsDub ? 'auto' : 'none';
if (!supportsDub &&
elements.roomSdToggle.getAttribute('data-state') === 'dub') {
if (!supportsDub && elements.roomSdToggle.getAttribute('data-state') === 'dub') {
elements.roomSdToggle.setAttribute('data-state', 'sub'); elements.roomSdToggle.setAttribute('data-state', 'sub');
elements.roomSdToggle.querySelectorAll('.sd-option') elements.roomSdToggle.querySelectorAll('.sd-option').forEach(o => {
.forEach(o => o.classList.toggle('active', o.dataset.val === 'sub')); o.classList.toggle('active', o.dataset.val === 'sub');
});
} }
} }
if (context === 'modal') { if (context === 'modal') {
const dubBtn = elements.modalSdToggle?.querySelector('[data-val="dub"]'); if (!elements.modalSdToggle) return;
if (!dubBtn) return;
dubBtn.classList.toggle('disabled', !supportsDub); elements.modalSdToggle.style.display = supportsDub ? 'flex' : 'none';
if (!supportsDub && configState.category === 'dub') { if (!supportsDub && configState.category === 'dub') {
configState.category = 'sub'; configState.category = 'sub';
@@ -573,6 +567,7 @@ const RoomsApp = (function() {
try { try {
const settings = extensionsStore.settings[extName]; const settings = extensionsStore.settings[extName];
handleDubUI(settings, 'modal'); handleDubUI(settings, 'modal');
const servers = settings.episodeServers?.length const servers = settings.episodeServers?.length
@@ -580,20 +575,6 @@ const RoomsApp = (function() {
: ['Default']; : ['Default'];
renderServerChips(servers); renderServerChips(servers);
const dubBtn = elements.modalSdToggle.querySelector('[data-val="dub"]');
if (dubBtn) {
if (!settings.supportsDub) {
dubBtn.classList.add('disabled');
if(configState.category === 'dub') {
configState.category = 'sub';
updateSDUI();
}
} else {
dubBtn.classList.remove('disabled');
}
}
} catch (e) { } catch (e) {
console.error("Error loading settings", e); console.error("Error loading settings", e);
elements.serverContainer.innerHTML = '<div class="grid-loader" style="color:#ff6b6b">Error loading servers</div>'; elements.serverContainer.innerHTML = '<div class="grid-loader" style="color:#ff6b6b">Error loading servers</div>';