Boîtes à outils enrichies : ContextMapper, SocioElection, WorkflowMilestones

- ContextMapper : 4 questions contexte → méthode de décision optimale
  (advice process Laloux, vote inertiel WoT, consentement sociocratique, Smith…)
- SocioElection : guide élection sociocratique 6 étapes + advice process + clarté de rôle
- WorkflowMilestones : 11 jalons de protocole (7 essentiels), durées recommandées, principes Ostrom
- WorkspaceSelector : sélecteur de collectif multi-site dans le header
- SectionLayout : toolbox en USlideover droit sur mobile, sidebar sticky desktop
- Décisions : ContextMapper intégré + guide consentement
- Mandats : SocioElection intégré + cycle de mandat
- Documents : guide inertie 4 niveaux + structure + IPFS
- Protocoles : WorkflowMilestones + protocole élection sociocratique ajouté
- Renommage projet Glibredecision → libreDecision (dossier + sources)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-03-17 00:13:08 +01:00
parent 316d205593
commit 290548703d
29 changed files with 4174 additions and 168 deletions

View File

@@ -99,8 +99,11 @@ function isActive(to: string) {
</NuxtLink>
</div>
<!-- Center: Mood switcher (desktop) -->
<MoodSwitcher class="hidden sm:flex" />
<!-- Center: Workspace selector + Mood switcher (desktop) -->
<div class="app-header__center">
<WorkspaceSelector class="hidden sm:flex" />
<MoodSwitcher class="hidden sm:flex" />
</div>
<!-- Right: Auth -->
<div class="app-header__right">
@@ -159,7 +162,11 @@ function isActive(to: string) {
<span>{{ item.label }}</span>
</NuxtLink>
</nav>
<!-- Mood switcher in mobile drawer -->
<!-- Workspace + Mood in mobile drawer -->
<div class="app-mobile-mood">
<span class="app-mobile-mood__label">Espace</span>
<WorkspaceSelector />
</div>
<div class="app-mobile-mood">
<span class="app-mobile-mood__label">Ambiance</span>
<MoodSwitcher />
@@ -260,9 +267,18 @@ function isActive(to: string) {
display: flex;
align-items: center;
justify-content: space-between;
gap: 0.75rem;
height: 3.5rem;
}
.app-header__center {
display: flex;
align-items: center;
gap: 0.625rem;
flex: 1;
justify-content: center;
}
.app-header__left {
display: flex;
align-items: center;