Skip to content

Commit bf00fbb

Browse files
authored
ui: add toggle on advanced settings title
1 parent 3b630fd commit bf00fbb

1 file changed

Lines changed: 29 additions & 20 deletions

File tree

views/dashboard.ejs

Lines changed: 29 additions & 20 deletions
Original file line numberDiff line numberDiff line change
@@ -370,7 +370,11 @@
370370
</div>
371371
</div>
372372
</div>
373-
<i class="ti ti-chevron-down text-gray-400 transition-transform"></i>
373+
<label class="relative inline-flex items-center cursor-pointer">
374+
<input type="checkbox" id="advancedSettingsCheckbox" class="sr-only peer">
375+
<div class="w-11 h-6 bg-dark-700 rounded-full peer peer-checked:bg-primary"></div>
376+
<div class="absolute left-[2px] top-[2px] w-5 h-5 bg-white rounded-full transition-all peer-checked:translate-x-5"></div>
377+
</label>
374378
</button>
375379
<div id="advancedSettingsContent" class="hidden space-y-6 pt-4">
376380
<div class="bg-yellow-900/20 border border-yellow-600/30 rounded-lg p-3 mb-4">
@@ -654,7 +658,11 @@
654658
</div>
655659
</div>
656660
</div>
657-
<i class="ti ti-chevron-down text-gray-400 transition-transform"></i>
661+
<label class="relative inline-flex items-center cursor-pointer">
662+
<input type="checkbox" id="editAdvancedSettingsCheckbox" class="sr-only peer">
663+
<div class="w-11 h-6 bg-dark-700 rounded-full peer peer-checked:bg-primary"></div>
664+
<div class="absolute left-[2px] top-[2px] w-5 h-5 bg-white rounded-full transition-all peer-checked:translate-x-5"></div>
665+
</label>
658666
</button>
659667
<div id="editAdvancedSettingsContent" class="hidden space-y-6 pt-4">
660668
<div class="bg-yellow-900/20 border border-yellow-600/30 rounded-lg p-3 mb-4">
@@ -1982,14 +1990,13 @@
19821990
document.getElementById('editScheduleEndTime').value = '';
19831991
}
19841992
const advancedSettingsContent = document.getElementById('editAdvancedSettingsContent');
1985-
const advancedSettingsToggle = document.getElementById('editAdvancedSettingsToggle');
1986-
const icon = advancedSettingsToggle.querySelector('i');
1993+
const advancedSettingsCheckbox = document.getElementById('editAdvancedSettingsCheckbox');
19871994
if (stream.use_advanced_settings) {
19881995
advancedSettingsContent.classList.remove('hidden');
1989-
icon.style.transform = 'rotate(180deg)';
1996+
advancedSettingsCheckbox.checked = true;
19901997
} else {
19911998
advancedSettingsContent.classList.add('hidden');
1992-
icon.style.transform = '';
1999+
advancedSettingsCheckbox.checked = false;
19932000
}
19942001
const modal = document.getElementById('editStreamModal');
19952002
document.body.style.overflow = 'hidden';
@@ -2049,11 +2056,10 @@
20492056
}
20502057
20512058
const advancedSettingsContent = document.getElementById('editAdvancedSettingsContent');
2052-
const advancedSettingsToggle = document.getElementById('editAdvancedSettingsToggle');
2053-
if (advancedSettingsContent && advancedSettingsToggle) {
2059+
const advancedSettingsCheckbox = document.getElementById('editAdvancedSettingsCheckbox');
2060+
if (advancedSettingsContent && advancedSettingsCheckbox) {
20542061
advancedSettingsContent.classList.add('hidden');
2055-
const icon = advancedSettingsToggle.querySelector('i');
2056-
if (icon) icon.style.transform = '';
2062+
advancedSettingsCheckbox.checked = false;
20572063
}
20582064
}
20592065
function toggleEditVideoSelector() {
@@ -2361,20 +2367,23 @@
23612367
});
23622368
}
23632369
document.addEventListener('DOMContentLoaded', function () {
2364-
setupAdvancedSettings('advancedSettingsToggle', 'advancedSettingsContent');
2365-
setupAdvancedSettings('editAdvancedSettingsToggle', 'editAdvancedSettingsContent');
2370+
setupAdvancedSettings('advancedSettingsToggle', 'advancedSettingsContent', 'advancedSettingsCheckbox');
2371+
setupAdvancedSettings('editAdvancedSettingsToggle', 'editAdvancedSettingsContent', 'editAdvancedSettingsCheckbox');
23662372
});
2367-
function setupAdvancedSettings(toggleId, contentId) {
2373+
function setupAdvancedSettings(toggleId, contentId, checkboxId) {
23682374
const toggle = document.getElementById(toggleId);
23692375
const content = document.getElementById(contentId);
2370-
if (toggle && content) {
2371-
toggle.addEventListener('click', function () {
2372-
content.classList.toggle('hidden');
2373-
const icon = this.querySelector('i');
2374-
if (content.classList.contains('hidden')) {
2375-
icon.style.transform = '';
2376+
const checkbox = document.getElementById(checkboxId);
2377+
2378+
if (toggle && content && checkbox) {
2379+
toggle.addEventListener('click', function (e) {
2380+
e.preventDefault();
2381+
checkbox.checked = !checkbox.checked;
2382+
2383+
if (checkbox.checked) {
2384+
content.classList.remove('hidden');
23762385
} else {
2377-
icon.style.transform = 'rotate(180deg)';
2386+
content.classList.add('hidden');
23782387
}
23792388
});
23802389
}

0 commit comments

Comments
 (0)