🎉 Improved documentation and logs structure in Backend 🖥️📊

This commit is contained in:
2025-06-04 01:00:16 +02:00
parent dc007a9172
commit 6b473afe43
31 changed files with 2446 additions and 66 deletions

View File

@@ -5,7 +5,7 @@
document.addEventListener('DOMContentLoaded', function() {
// Dark Mode Toggle Button (Premium Design)
const darkModeToggle = document.getElementById('darkModeToggle');
const darkModeToggles = document.querySelectorAll('.darkModeToggle');
const html = document.documentElement;
// Local Storage Key
@@ -26,16 +26,17 @@ document.addEventListener('DOMContentLoaded', function() {
* Icons im Premium Toggle-Button aktualisieren
*/
function updateIcons(isDark) {
if (!darkModeToggle) return;
// Finde die Premium-Icons
const sunIcon = darkModeToggle.querySelector('.sun-icon');
const moonIcon = darkModeToggle.querySelector('.moon-icon');
if (!sunIcon || !moonIcon) {
console.warn('Premium Dark Mode Icons nicht gefunden');
return;
}
darkModeToggles.forEach(darkModeToggle => {
if (!darkModeToggle) return;
// Finde die Premium-Icons
const sunIcon = darkModeToggle.querySelector('.sun-icon');
const moonIcon = darkModeToggle.querySelector('.moon-icon');
if (!sunIcon || !moonIcon) {
console.warn('Premium Dark Mode Icons nicht gefunden');
return;
}
// Animation für Übergänge
if (isDark) {
@@ -64,9 +65,10 @@ document.addEventListener('DOMContentLoaded', function() {
moonIcon.classList.remove('opacity-100', 'scale-100', 'rotate-0');
}
// Icon-Animationen hinzufügen
sunIcon.classList.toggle('icon-enter', !isDark);
moonIcon.classList.toggle('icon-enter', isDark);
// Icon-Animationen hinzufügen
sunIcon.classList.toggle('icon-enter', !isDark);
moonIcon.classList.toggle('icon-enter', isDark);
});
}
/**
@@ -80,23 +82,23 @@ document.addEventListener('DOMContentLoaded', function() {
html.setAttribute('data-theme', 'dark');
html.style.colorScheme = 'dark';
if (darkModeToggle) {
darkModeToggle.setAttribute('aria-pressed', 'true');
darkModeToggle.setAttribute('title', 'Light Mode aktivieren');
// Premium Button-Icons aktualisieren
updateIcons(true);
}
darkModeToggles.forEach(toggle => {
toggle.setAttribute('aria-pressed', 'true');
toggle.setAttribute('title', 'Light Mode aktivieren');
});
// Premium Button-Icons aktualisieren
updateIcons(true);
} else {
html.classList.remove('dark');
html.setAttribute('data-theme', 'light');
html.style.colorScheme = 'light';
if (darkModeToggle) {
darkModeToggle.setAttribute('aria-pressed', 'false');
darkModeToggle.setAttribute('title', 'Dark Mode aktivieren');
// Premium Button-Icons aktualisieren
updateIcons(false);
}
darkModeToggles.forEach(toggle => {
toggle.setAttribute('aria-pressed', 'false');
toggle.setAttribute('title', 'Dark Mode aktivieren');
});
// Premium Button-Icons aktualisieren
updateIcons(false);
}
// Einstellung im Local Storage speichern
@@ -118,47 +120,43 @@ document.addEventListener('DOMContentLoaded', function() {
}
// Toggle Dark Mode Funktion
function toggleDarkMode() {
function toggleDarkMode(event) {
const currentMode = isDarkMode();
setDarkMode(!currentMode);
// Premium-Animation beim Klick
if (darkModeToggle) {
const container = darkModeToggle.querySelector('div');
if (container) {
container.style.transform = 'scale(0.95)';
// Premium-Animation beim Klick für den geklickten Button
if (event && event.currentTarget) {
const clickedToggle = event.currentTarget;
const slider = clickedToggle.querySelector('.dark-mode-toggle-slider');
if (slider) {
slider.style.transform = 'scale(0.95)';
setTimeout(() => {
container.style.transform = '';
slider.style.transform = '';
}, 150);
}
}
}
// Event Listener für Premium Toggle Button
if (darkModeToggle) {
console.log('🎨 Premium Dark Mode Toggle Button gefunden - initialisiere...');
// Event Listener für Premium Toggle Buttons
if (darkModeToggles.length > 0) {
console.log(`🎨 ${darkModeToggles.length} Premium Dark Mode Toggle Button(s) gefunden - initialisiere...`);
// Entferne vorherige Event-Listener, um Duplikate zu vermeiden
const newDarkModeToggle = darkModeToggle.cloneNode(true);
darkModeToggle.parentNode.replaceChild(newDarkModeToggle, darkModeToggle);
// Neuen Event-Listener hinzufügen
newDarkModeToggle.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation(); // Verhindere Bubbling
toggleDarkMode();
darkModeToggles.forEach((toggle, index) => {
// Event-Listener hinzufügen
toggle.addEventListener('click', function(e) {
e.preventDefault();
e.stopPropagation(); // Verhindere Bubbling
toggleDarkMode(e);
});
});
// Aktualisiere die Variable auf das neue Element
const updatedToggle = document.getElementById('darkModeToggle');
// Initialen Status setzen
const isDark = isDarkMode();
setDarkMode(isDark);
console.log('✨ Premium Dark Mode Toggle Button erfolgreich initialisiert');
console.log('✨ Premium Dark Mode Toggle Buttons erfolgreich initialisiert');
} else {
console.error('❌ Premium Dark Mode Toggle Button konnte nicht gefunden werden!');
console.error('❌ Keine Premium Dark Mode Toggle Buttons gefunden!');
}
// Tastaturkürzel: Strg+Shift+D für Dark Mode Toggle

View File

@@ -1,11 +1 @@
document.addEventListener('DOMContentLoaded',function(){const darkModeToggle=document.getElementById('darkModeToggle');const html=document.documentElement;const STORAGE_KEY='myp-dark-mode';function isDarkMode(){const savedMode=localStorage.getItem(STORAGE_KEY);if(savedMode!==null){return savedMode==='true';}
return window.matchMedia('(prefers-color-scheme: dark)').matches;}
function updateIcons(isDark){if(!darkModeToggle)return;const sunIcon=darkModeToggle.querySelector('.sun-icon');const moonIcon=darkModeToggle.querySelector('.moon-icon');if(!sunIcon||!moonIcon){console.warn('Premium Dark Mode Icons nicht gefunden');return;}
if(isDark){sunIcon.style.opacity='0';sunIcon.style.transform='scale(0.75) rotate(90deg)';moonIcon.style.opacity='1';moonIcon.style.transform='scale(1) rotate(0deg)';sunIcon.classList.add('opacity-0','dark:opacity-0','scale-75','dark:scale-75','rotate-90','dark:rotate-90');sunIcon.classList.remove('opacity-100','scale-100','rotate-0');moonIcon.classList.add('opacity-100','dark:opacity-100','scale-100','dark:scale-100','rotate-0','dark:rotate-0');moonIcon.classList.remove('opacity-0','scale-75','rotate-90');}else{sunIcon.style.opacity='1';sunIcon.style.transform='scale(1) rotate(0deg)';moonIcon.style.opacity='0';moonIcon.style.transform='scale(0.75) rotate(-90deg)';sunIcon.classList.add('opacity-100','scale-100','rotate-0');sunIcon.classList.remove('opacity-0','dark:opacity-0','scale-75','dark:scale-75','rotate-90','dark:rotate-90');moonIcon.classList.add('opacity-0','dark:opacity-100','scale-75','dark:scale-100','rotate-90','dark:rotate-0');moonIcon.classList.remove('opacity-100','scale-100','rotate-0');}
sunIcon.classList.toggle('icon-enter',!isDark);moonIcon.classList.toggle('icon-enter',isDark);}
function setDarkMode(enable){console.log(`🎨 Setze Premium Dark Mode auf:${enable?'Aktiviert':'Deaktiviert'}`);if(enable){html.classList.add('dark');html.setAttribute('data-theme','dark');html.style.colorScheme='dark';if(darkModeToggle){darkModeToggle.setAttribute('aria-pressed','true');darkModeToggle.setAttribute('title','Light Mode aktivieren');updateIcons(true);}}else{html.classList.remove('dark');html.setAttribute('data-theme','light');html.style.colorScheme='light';if(darkModeToggle){darkModeToggle.setAttribute('aria-pressed','false');darkModeToggle.setAttribute('title','Dark Mode aktivieren');updateIcons(false);}}
localStorage.setItem(STORAGE_KEY,enable.toString());const metaThemeColor=document.getElementById('metaThemeColor');if(metaThemeColor){metaThemeColor.setAttribute('content',enable?'#000000':'#ffffff');}
window.dispatchEvent(new CustomEvent('darkModeChanged',{detail:{isDark:enable}}));console.log(`${enable?'🌙':'☀️'}Premium Design umgeschaltet auf:${enable?'Dark Mode':'Light Mode'}`);}
function toggleDarkMode(){const currentMode=isDarkMode();setDarkMode(!currentMode);if(darkModeToggle){const container=darkModeToggle.querySelector('div');if(container){container.style.transform='scale(0.95)';setTimeout(()=>{container.style.transform='';},150);}}}
if(darkModeToggle){console.log('🎨 Premium Dark Mode Toggle Button gefunden - initialisiere...');const newDarkModeToggle=darkModeToggle.cloneNode(true);darkModeToggle.parentNode.replaceChild(newDarkModeToggle,darkModeToggle);newDarkModeToggle.addEventListener('click',function(e){e.preventDefault();e.stopPropagation();toggleDarkMode();});const updatedToggle=document.getElementById('darkModeToggle');const isDark=isDarkMode();setDarkMode(isDark);console.log('✨ Premium Dark Mode Toggle Button erfolgreich initialisiert');}else{console.error('❌ Premium Dark Mode Toggle Button konnte nicht gefunden werden!');}
document.addEventListener('keydown',function(e){if(e.ctrlKey&&e.shiftKey&&e.key==='D'){toggleDarkMode();e.preventDefault();}});document.addEventListener('keydown',function(e){if(e.altKey&&e.key==='t'){toggleDarkMode();e.preventDefault();}});window.toggleDarkMode=toggleDarkMode;window.isDarkMode=isDarkMode;window.setDarkMode=setDarkMode;window.premiumDarkMode={toggle:toggleDarkMode,isDark:isDarkMode,setMode:setDarkMode,version:'3.0.0-premium'};console.log('🎨 Premium Dark Mode System geladen - Version 3.0.0');});
document.addEventListener("DOMContentLoaded",(function(){const e=document.querySelectorAll(".darkModeToggle"),t=document.documentElement,o="myp-dark-mode";function a(){const e=localStorage.getItem(o);return null!==e?"true"===e:window.matchMedia("(prefers-color-scheme: dark)").matches}function r(t){e.forEach((e=>{if(!e)return;const o=e.querySelector(".sun-icon"),a=e.querySelector(".moon-icon");o&&a?(t?(o.style.opacity="0",o.style.transform="scale(0.75) rotate(90deg)",a.style.opacity="1",a.style.transform="scale(1) rotate(0deg)",o.classList.add("opacity-0","dark:opacity-0","scale-75","dark:scale-75","rotate-90","dark:rotate-90"),o.classList.remove("opacity-100","scale-100","rotate-0"),a.classList.add("opacity-100","dark:opacity-100","scale-100","dark:scale-100","rotate-0","dark:rotate-0"),a.classList.remove("opacity-0","scale-75","rotate-90")):(o.style.opacity="1",o.style.transform="scale(1) rotate(0deg)",a.style.opacity="0",a.style.transform="scale(0.75) rotate(-90deg)",o.classList.add("opacity-100","scale-100","rotate-0"),o.classList.remove("opacity-0","dark:opacity-0","scale-75","dark:scale-75","rotate-90","dark:rotate-90"),a.classList.add("opacity-0","dark:opacity-100","scale-75","dark:scale-100","rotate-90","dark:rotate-0"),a.classList.remove("opacity-100","scale-100","rotate-0")),o.classList.toggle("icon-enter",!t),a.classList.toggle("icon-enter",t)):console.warn("Premium Dark Mode Icons nicht gefunden")}))}function s(a){console.log("🎨 Setze Premium Dark Mode auf: "+(a?"Aktiviert":"Deaktiviert")),a?(t.classList.add("dark"),t.setAttribute("data-theme","dark"),t.style.colorScheme="dark",e.forEach((e=>{e.setAttribute("aria-pressed","true"),e.setAttribute("title","Light Mode aktivieren")})),r(!0)):(t.classList.remove("dark"),t.setAttribute("data-theme","light"),t.style.colorScheme="light",e.forEach((e=>{e.setAttribute("aria-pressed","false"),e.setAttribute("title","Dark Mode aktivieren")})),r(!1)),localStorage.setItem(o,a.toString());const s=document.getElementById("metaThemeColor");s&&s.setAttribute("content",a?"#000000":"#ffffff"),window.dispatchEvent(new CustomEvent("darkModeChanged",{detail:{isDark:a}})),console.log(`${a?"🌙":"☀️"} Premium Design umgeschaltet auf: ${a?"Dark Mode":"Light Mode"}`)}function i(e){if(s(!a()),e&&e.currentTarget){const t=e.currentTarget.querySelector(".dark-mode-toggle-slider");t&&(t.style.transform="scale(0.95)",setTimeout((()=>{t.style.transform=""}),150))}}if(e.length>0){console.log(`🎨 ${e.length} Premium Dark Mode Toggle Button(s) gefunden - initialisiere...`),e.forEach(((e,t)=>{e.addEventListener("click",(function(e){e.preventDefault(),e.stopPropagation(),i(e)}))}));s(a()),console.log("✨ Premium Dark Mode Toggle Buttons erfolgreich initialisiert")}else console.error("❌ Keine Premium Dark Mode Toggle Buttons gefunden!");document.addEventListener("keydown",(function(e){e.ctrlKey&&e.shiftKey&&"D"===e.key&&(i(),e.preventDefault())})),document.addEventListener("keydown",(function(e){e.altKey&&"t"===e.key&&(i(),e.preventDefault())})),window.toggleDarkMode=i,window.isDarkMode=a,window.setDarkMode=s,window.premiumDarkMode={toggle:i,isDark:a,setMode:s,version:"3.0.0-premium"},console.log("🎨 Premium Dark Mode System geladen - Version 3.0.0")}));