Français soigné, labels signalétiques, formule N1.1 visuelle, F1.2 lisible

- Accents français partout (seed + composants Vue)
- Labels discrets: Engagements, Préambule, Application, Variables
- N1.1: présentation visuelle des niveaux d'inertie avec formule
- F1.2: paramètres + lecture du curseur d'inertie
- MarkdownRenderer: espacement resserré, support code inline
- Toutes descriptions et meta en bon français

Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
This commit is contained in:
Yvv
2026-03-02 09:29:50 +01:00
parent 0b230483d9
commit 21ceae4866
8 changed files with 372 additions and 298 deletions

View File

@@ -38,9 +38,9 @@ const itemTypeIcon = computed(() => {
const itemTypeLabel = computed(() => {
switch (props.item.item_type) {
case 'clause': return 'Engagement'
case 'rule': return 'Regle'
case 'verification': return 'Verification'
case 'preamble': return 'Preambule'
case 'rule': return 'Variables'
case 'verification': return 'Application'
case 'preamble': return 'Préambule'
case 'section': return 'Titre'
default: return props.item.item_type
}
@@ -105,9 +105,9 @@ function navigateToItem() {
<span v-if="item.title" class="engagement-card__title">
{{ item.title }}
</span>
<UBadge variant="subtle" color="neutral" size="xs" class="shrink-0">
<span class="engagement-card__type-label">
{{ itemTypeLabel }}
</UBadge>
</span>
</div>
</div>
@@ -243,6 +243,16 @@ function navigateToItem() {
text-overflow: ellipsis;
}
.engagement-card__type-label {
font-size: 0.5625rem;
font-weight: 600;
text-transform: uppercase;
letter-spacing: 0.06em;
color: var(--mood-text-muted);
opacity: 0.6;
flex-shrink: 0;
}
.engagement-card__body {
padding: 0.75rem 1rem 1rem;
cursor: pointer;