Ziya/app/app.vue
rizary 6efcf43691
feat: complete ESLint configuration overhaul and theme system improvements
- Migrate from legacy .eslintrc.json to modern flat config system
- Remove conflicting ESLint configuration files
- Fix auto-generation of eslint.config.mjs by Nuxt
- Update ESLint rules to use single quotes and proper formatting
- Add comprehensive theme switching system with 24 palettes
- Implement proper daisyUI theme integration
- Add theme store with persistence and dark/light mode support
- Create ThemeSwitcher component with enhanced UI
- Fix package.json scripts to work with new ESLint flat config
- Update VS Code settings for proper ESLint integration
- Add changelogen scripts for proper changelog management

BREAKING CHANGE: ESLint configuration migrated to flat config system
2025-06-22 00:53:24 +07:00

53 lines
1.1 KiB
Vue

<template>
<div :data-theme="themeStore.currentTheme" class="app-container">
<NuxtLayout>
<NuxtPage />
</NuxtLayout>
<!-- Toast Notification -->
<div v-if="appStore.showToast" class="toast toast-top toast-end">
<div
:class="[
'alert',
{
'alert-success': appStore.toastType === 'success',
'alert-error': appStore.toastType === 'error',
'alert-info': appStore.toastType === 'info',
},
]"
>
<span>{{ appStore.toastMessage }}</span>
</div>
</div>
</div>
</template>
<script setup lang="ts">
// App-level setup
useHead({
title: 'Ziya - Trading Platform',
meta: [
{ name: 'description', content: 'One Stop Shop for your trading needs' },
],
});
// Initialize stores
const appStore = useAppStore();
const themeStore = useThemeStore();
onMounted(() => {
// Initialize both stores
appStore.initializeFromStorage();
themeStore.initializeTheme();
});
</script>
<style>
.app-container {
height: 100vh;
width: 100vw;
overflow: hidden;
display: flex;
flex-direction: column;
}
</style>