Implementa o sistema visual Arcade Neon do neon-handoff/ em todo o app: - tokens.css: tokens --fc-*, utilities (fc-pixel/mono/body/glow), form inputs/buttons globais - AppHud.vue: HUD persistente com LV/XP/META + nav chips por rota - BottomNav.vue: nav mobile com 5 rotas - NeonPanel.vue, CharacterSprite.vue, XPBar.vue, HUDStat.vue: componentes base - MonthSwitcher.vue, LevelUpModal.vue - HomeView, CharacterView, TransactionsView, ImportView, CategoriesView, AccountsView, SettingsView: reescritos com Arcade Neon - sprites PNG (lv01–lv15) + sprite-data.json: cosméticos com temas de cor - game.ts: equippedTheme getter para merge de cores do cosmético equipado - 008_cosmetics.sql: seeds alinhados com sprite-data.json Co-Authored-By: Claude Sonnet 4.6 <[email protected]>
30 lines
695 B
Vue
30 lines
695 B
Vue
<script setup lang="ts">
|
|
import { onMounted } from 'vue'
|
|
import { useGameStore } from '@/stores/game'
|
|
import { useDashboardStore } from '@/stores/dashboard'
|
|
import AppHud from '@/components/AppHud.vue'
|
|
import BottomNav from '@/components/BottomNav.vue'
|
|
|
|
const gameStore = useGameStore()
|
|
const dashStore = useDashboardStore()
|
|
|
|
onMounted(() => {
|
|
gameStore.fetchSummary()
|
|
dashStore.fetch(new Date().toISOString().slice(0, 7))
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<div class="fc-app">
|
|
<AppHud />
|
|
<RouterView />
|
|
<BottomNav />
|
|
</div>
|
|
</template>
|
|
|
|
<style>
|
|
*, *::before, *::after { box-sizing: border-box; }
|
|
a { color: inherit; text-decoration: none; }
|
|
button { font-family: inherit; }
|
|
</style>
|