- 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>
43 lines
1.0 KiB
Vue
43 lines
1.0 KiB
Vue
<script setup lang="ts">
|
|
// <!-- ld-v2 --> Tuile de stat de l'Observatoire — libellé, valeur, note.
|
|
// Chiffres proportionnels (pas de tabular à cette taille), encre = tokens texte.
|
|
defineProps<{ label: string; value: string; hint?: string }>()
|
|
</script>
|
|
|
|
<template>
|
|
<!-- ld-v2 -->
|
|
<div class="ostat">
|
|
<p class="ostat__label">{{ label }}</p>
|
|
<p class="ostat__value">{{ value }}</p>
|
|
<p v-if="hint" class="ostat__hint">{{ hint }}</p>
|
|
</div>
|
|
</template>
|
|
|
|
<style scoped>
|
|
.ostat {
|
|
display: flex;
|
|
flex-direction: column;
|
|
gap: 0.25rem;
|
|
padding: 0.875rem 1rem;
|
|
border-radius: var(--r-icon);
|
|
background: var(--mood-accent-soft);
|
|
min-width: 0;
|
|
}
|
|
.ostat__label {
|
|
margin: 0;
|
|
font-size: 0.75rem;
|
|
font-weight: 700;
|
|
text-transform: uppercase;
|
|
letter-spacing: 0.04em;
|
|
color: var(--mood-text-muted);
|
|
}
|
|
.ostat__value {
|
|
margin: 0;
|
|
font-size: 1.5rem;
|
|
font-weight: 700;
|
|
color: var(--mood-text);
|
|
line-height: 1.15;
|
|
}
|
|
.ostat__hint { margin: 0; font-size: 0.75rem; color: var(--mood-text-muted); }
|
|
</style>
|