Refonte design : 4 humeurs, onboarding, sections avec boite a outils

- Systeme de themes adaptatifs : Peps (light chaud), Zen (light calme),
  Chagrine (dark violet), Grave (dark ambre) avec CSS custom properties
- Dashboard d'accueil orienté onboarding avec cartes-portes et teaser
  boite a outils
- SectionLayout reutilisable : liste + sidebar toolbox + status pills
  cliquables (En prepa / En vote / En vigueur / Clos)
- ToolboxVignette : vignettes Contexte / Tutos / Choisir / Demarrer
- Seed : Acte engagement certification + forgeron, Runtime Upgrade
  (decision on-chain), 3 modalites de vote (majoritaire, quadratique,
  permanent)
- Backend adapte SQLite (Uuid portable, 204 fix, pool conditionnel)
- Correction noms composants (pathPrefix: false), pinia/nuxt ^0.11

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-02-28 17:44:48 +01:00
parent 403b94fa2c
commit 77dceb49c3
49 changed files with 20628 additions and 1180 deletions

View File

@@ -1,6 +1,7 @@
<script setup lang="ts">
const auth = useAuthStore()
const route = useRoute()
const { initMood } = useMood()
const navigationItems = [
{
@@ -43,6 +44,9 @@ const ws = useWebSocket()
const { setupWsNotifications } = useNotifications()
onMounted(async () => {
// Apply saved mood / ambiance
initMood()
// Hydrate auth from localStorage
auth.hydrateFromStorage()
if (auth.token) {
@@ -68,7 +72,13 @@ onUnmounted(() => {
<!-- Offline detection banner -->
<OfflineBanner />
<div class="min-h-screen flex flex-col">
<div
class="min-h-screen flex flex-col"
:style="{
backgroundColor: 'var(--mood-bg)',
color: 'var(--mood-text)',
}"
>
<!-- Header -->
<header class="sticky top-0 z-30 border-b border-gray-200 dark:border-gray-800 bg-white dark:bg-gray-900">
<div class="max-w-7xl mx-auto px-4 sm:px-6 lg:px-8">
@@ -92,6 +102,9 @@ onUnmounted(() => {
</NuxtLink>
</div>
<!-- Center: Mood switcher -->
<MoodSwitcher class="hidden sm:flex" />
<!-- Right: Auth controls -->
<div class="flex items-center gap-2 sm:gap-4">
<template v-if="auth.isAuthenticated">