- stores/collective.ts (état local-first, gabarits, import/export, seeds) + stores/decisions.ts (cycle de vie complet : capture→chemin→fenêtres→ sessions→cristallisation→épreuve du réel→révocation) - data/templates.ts : 7 gabarits (Page blanche observatoire-d'abord, 5 points de départ, Institution symétrique) - composables useFeed (13 sections du Fil en sélecteurs purs) + useSearch (index unique Cmd+K/Q0) - shell : layouts default/bare, app.vue mince, useMood v2 (Source/Margelle/ Nappe/Minuit), sceau 井 = logo, LdWorkspaceSelector avec finalité A1, LdAvatarStack (premier/second lieu), LdCountdown (suspension striée) - 338 tests vitest verts, npm run build zéro erreur Co-Authored-By: Claude Fable 5 <noreply@anthropic.com>
22 lines
478 B
Vue
22 lines
478 B
Vue
<script setup lang="ts">
|
|
// Shell v2 — app.vue MINCE : ambiance + hydratation du collectif, rien d'autre.
|
|
// Toute la structure (header, sidebar, drawer, sceau) vit dans layouts/default.vue.
|
|
import { useCollectiveStore } from '~/stores/collective'
|
|
|
|
const { initMood } = useLibreMood()
|
|
|
|
onMounted(() => {
|
|
initMood()
|
|
useCollectiveStore().init?.()
|
|
})
|
|
</script>
|
|
|
|
<template>
|
|
<!-- ld-v2 -->
|
|
<UApp>
|
|
<NuxtLayout>
|
|
<NuxtPage />
|
|
</NuxtLayout>
|
|
</UApp>
|
|
</template>
|