refactor frontend

Signed-off-by: Omar Sánchez Pizarro <omar.sanchez@pistacero.net>
This commit is contained in:
Omar Sánchez Pizarro
2026-01-20 23:02:09 +01:00
parent 05f0455744
commit 03bc550dab
50 changed files with 1274 additions and 850 deletions

View File

@@ -0,0 +1,37 @@
import { ref, onMounted } from 'vue';
export function useDarkMode() {
const isDark = ref(false);
function toggle() {
isDark.value = !isDark.value;
if (isDark.value) {
document.documentElement.classList.add('dark');
localStorage.setItem('darkMode', 'true');
} else {
document.documentElement.classList.remove('dark');
localStorage.setItem('darkMode', 'false');
}
}
function init() {
const saved = localStorage.getItem('darkMode');
if (saved === 'true' || (!saved && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
isDark.value = true;
document.documentElement.classList.add('dark');
} else {
isDark.value = false;
document.documentElement.classList.remove('dark');
}
}
onMounted(() => {
init();
});
return {
isDark,
toggle,
init,
};
}