Files
QZMusic_PC/src/renderer/App.vue

28 lines
796 B
Vue
Raw Normal View History

<template>
2026-02-02 13:54:31 +08:00
<MainLayout />
<Settings v-if="showSettings" @close="showSettings = false" />
</template>
<script setup lang="ts">
import { ref, provide, onMounted } from 'vue';
2026-02-02 13:54:31 +08:00
import MainLayout from './layout/MainLayout.vue';
import Settings from './components/Settings.vue';
const showSettings = ref(false);
// Provide to child components
provide('openSettings', () => { showSettings.value = true; });
// Apply saved theme on app startup
onMounted(async () => {
if (window.electronAPI?.settings) {
const settings = await window.electronAPI.settings.getAll();
document.documentElement.setAttribute('data-theme', settings.theme);
document.documentElement.style.setProperty('--color-accent', settings.accentColor);
}
});
</script>
2026-02-02 13:54:31 +08:00
<style>
@import "./styles/main.css";
</style>