- 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
53 lines
1.1 KiB
Vue
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>
|