v3 : socle Rust (moteur pur, accès trustinWallet, serveur) ; maquette Nuxt rangée dans maquette/
- crates/ld-engine : formule inertielle (parité avec la maquette, garde C), coquille / changement de fond, assistant d'édition à règles, composition d'un document sous vote permanent (adoptions, aperçus, rivales). - crates/trustin-access : qui voit, qui ouvre, qui gère les accès. - crates/ld-server : API axum + SQLite, connexion Ğ1 (client OAuth2 de connect.monnaie-libre.fr), invitations, entrée en vigueur automatique, signalements de contradiction, traductions éditoriales, publication git, taille de la toile lue sur la chaîne. - seeds/acte-engagement-certification.json : 33 articles, fr + en + es ; en vigueur : préambule, E1, E2 (seed a minima). - maquette/ : frontend, backend et docker v2 déplacés tels quels. Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -0,0 +1,51 @@
|
||||
<script setup lang="ts">
|
||||
/** Quatre pastilles rondes — une par ambiance. Ring accent sur l'actif. */
|
||||
const { moods, currentMood, setMood } = useLibreMood()
|
||||
</script>
|
||||
|
||||
<template>
|
||||
<!-- ld-v2 -->
|
||||
<div class="mood-switcher" role="group" aria-label="Ambiance">
|
||||
<UTooltip v-for="m in moods" :key="m.id" :text="m.label">
|
||||
<button
|
||||
class="mood-dot"
|
||||
:class="{ 'mood-dot--active': currentMood === m.id }"
|
||||
:style="{ background: m.color }"
|
||||
:aria-label="m.label"
|
||||
:aria-pressed="currentMood === m.id"
|
||||
@click="setMood(m.id)"
|
||||
/>
|
||||
</UTooltip>
|
||||
</div>
|
||||
</template>
|
||||
|
||||
<style scoped>
|
||||
.mood-switcher {
|
||||
display: inline-flex;
|
||||
align-items: center;
|
||||
gap: 0.5rem;
|
||||
padding: 0.25rem;
|
||||
}
|
||||
|
||||
.mood-dot {
|
||||
width: 1.125rem;
|
||||
height: 1.125rem;
|
||||
border-radius: 50%;
|
||||
cursor: pointer;
|
||||
padding: 0;
|
||||
flex-shrink: 0;
|
||||
box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.35), 0 1px 3px var(--mood-shadow);
|
||||
transition: transform 0.12s ease, box-shadow 0.12s ease;
|
||||
}
|
||||
.mood-dot:hover {
|
||||
transform: translateY(-1px) scale(1.12);
|
||||
}
|
||||
.mood-dot:active {
|
||||
transform: translateY(0);
|
||||
}
|
||||
.mood-dot--active {
|
||||
box-shadow: inset 0 0 0 1.5px rgba(255, 255, 255, 0.35),
|
||||
0 0 0 2px var(--mood-surface),
|
||||
0 0 0 4px var(--mood-accent);
|
||||
}
|
||||
</style>
|
||||
Reference in New Issue
Block a user