traefik-frontend/static/js/scripts.js
2024-07-26 15:54:03 -03:00

59 lines
2.1 KiB
JavaScript

document.addEventListener("DOMContentLoaded", function() {
if (localStorage.getItem("dark-mode") === "true") {
document.body.classList.add("dark-mode");
document.getElementById('theme-icon').classList.remove('fa-moon');
document.getElementById('theme-icon').classList.add('fa-sun');
} else {
document.getElementById('theme-icon').classList.remove('fa-sun');
document.getElementById('theme-icon').classList.add('fa-moon');
}
document.querySelectorAll('.group').forEach(group => {
const groupName = group.id;
const collapsed = group.dataset.collapsed === 'true';
if (collapsed) {
group.classList.add('collapsed');
} else if (localStorage.getItem(`collapsed-${groupName}`) === 'true') {
group.classList.add('collapsed');
}
});
document.addEventListener("click", function(event) {
const settingsMenu = document.getElementById('settings-menu');
if (!settingsMenu.contains(event.target) && !event.target.closest('.icon-button')) {
settingsMenu.classList.remove('visible');
}
});
});
function toggleDarkMode() {
document.body.classList.toggle("dark-mode");
const themeIcon = document.getElementById('theme-icon');
if (document.body.classList.contains("dark-mode")) {
localStorage.setItem("dark-mode", "true");
themeIcon.classList.remove('fa-moon');
themeIcon.classList.add('fa-sun');
} else {
localStorage.setItem("dark-mode", "false");
themeIcon.classList.remove('fa-sun');
themeIcon.classList.add('fa-moon');
}
}
function toggleGroup(group) {
const groupElement = document.getElementById(group);
groupElement.classList.toggle("collapsed");
const isCollapsed = groupElement.classList.contains("collapsed");
localStorage.setItem(`collapsed-${group}`, isCollapsed);
}
function toggleSettings() {
const settingsMenu = document.getElementById('settings-menu');
settingsMenu.classList.toggle('visible');
}
function refreshData() {
location.reload();
}