forked from LPK/librodrome
design : accueil console seul, vrai §, curseurs animés, statuts, lecteur
- accueil : la console devient l'accueil unique (variantes B/C, sélecteur et ancien accueil retirés) ; curseurs qui montent de l'asservissement et dérivent seuls, un axe mis en avant à tour de rôle, arrêt au clic, immobiles en prefers-reduced-motion ; « AUTONOMIE » devant chaque axe, leviers mis en valeur, ligne des trois autonomies en couleurs - logo : § de Playfair Display (SIL OFL) vectorisé, composant partagé UiSectionSign (en-tête, page événement) + favicon.svg - UiStatusBadge (production / développement / gestation) sur l'accueil, les pages d'axe et les pages projet - liens libreDecision / SejeteralO fixés sur la prod (plus de repli localhost) - logiciel libre : bouton v1 dans la carte projet en tête de page - couverture du livre : recadrage corrigé (BookSection) - texte courant en Public Sans (zéros non barrés) - lecteur : la pastille persistante ne masque plus la navigation du BookPlayer ; lecture directe du MP3 (les .ogg n'existent pas : 404) Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
This commit is contained in:
@@ -247,10 +247,19 @@
|
||||
<p style="color: hsl(var(--color-text-muted))" class="leading-relaxed">
|
||||
{{ content.project.text }}
|
||||
</p>
|
||||
<span v-if="content?.gestation" class="gestation-badge mt-3">
|
||||
<div class="i-lucide-flask-conical h-3 w-3" />
|
||||
En gestation
|
||||
</span>
|
||||
<UiStatusBadge
|
||||
class="mt-3"
|
||||
:status="content.project.status"
|
||||
:gestation="content.project.gestation || content?.gestation"
|
||||
:since="content.project.since"
|
||||
/>
|
||||
<div v-if="content.project.action?.href" class="project-action mt-4">
|
||||
<UiBaseButton :href="content.project.action.href" target="_blank">
|
||||
<div class="i-lucide-external-link mr-2 h-4 w-4" />
|
||||
{{ content.project.action.label }}
|
||||
</UiBaseButton>
|
||||
<span v-if="content.project.action.note" class="project-action-note">{{ content.project.action.note }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
|
||||
@@ -477,7 +486,7 @@
|
||||
</div>
|
||||
</div>
|
||||
|
||||
<!-- Bouquet sweethomeCloud -->
|
||||
<!-- Bouquet sweetHome -->
|
||||
<div v-if="section.bouquet" class="territoire-bouquet">
|
||||
<h3 class="territoire-bouquet-title">
|
||||
<div class="i-lucide-package h-4 w-4" />
|
||||
@@ -621,13 +630,6 @@
|
||||
|
||||
</div><!-- /sections-area -->
|
||||
|
||||
<div v-if="slug === 'logiciel-libre'" class="text-center mt-6">
|
||||
<UiBaseButton href="https://axiom-team.fr/dons" target="_blank">
|
||||
<div class="i-lucide-external-link mr-2 h-4 w-4" />
|
||||
Voir la v1 bridée (premier flux)
|
||||
</UiBaseButton>
|
||||
</div>
|
||||
|
||||
<div v-if="slug === 'tarifs-eau'" class="text-center mt-6">
|
||||
<UiBaseButton :href="sejeteral0Url" target="_blank">
|
||||
<div class="i-lucide-external-link mr-2 h-4 w-4" />
|
||||
@@ -1650,6 +1652,19 @@ useSeoPage({
|
||||
color: hsl(var(--color-primary) / 0.5);
|
||||
}
|
||||
|
||||
.project-action {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 0.5rem 1rem;
|
||||
}
|
||||
|
||||
.project-action-note {
|
||||
font-family: var(--font-mono);
|
||||
font-size: 0.72rem;
|
||||
color: hsl(var(--axis-cit));
|
||||
}
|
||||
|
||||
/* Bouquet — status of each stack */
|
||||
.territoire-bouquet-provider {
|
||||
font-size: 0.8rem;
|
||||
|
||||
@@ -319,7 +319,7 @@
|
||||
<NuxtLink v-if="lpk" :to="lpk.to" class="lpk-card">
|
||||
<span class="lpk-name">{{ lpk.name }}</span>
|
||||
<span class="lpk-body">
|
||||
<span class="lpk-full">{{ lpk.fullName }} — {{ lpk.text }}</span>
|
||||
<span class="lpk-full">{{ lpk.text }}</span>
|
||||
<span class="lpk-role">{{ lpk.role }}</span>
|
||||
</span>
|
||||
<span class="i-lucide-arrow-right h-5 w-5 lpk-arrow" aria-hidden="true" />
|
||||
@@ -342,10 +342,7 @@
|
||||
<h2 class="font-display text-xl font-bold" style="color: hsl(var(--color-text))">
|
||||
{{ pillar.label }}
|
||||
</h2>
|
||||
<span v-if="pillar.gestation" class="gestation-badge">
|
||||
<div class="i-lucide-flask-conical h-3 w-3" />
|
||||
En gestation
|
||||
</span>
|
||||
<UiStatusBadge class="ml-auto" :status="pillar.status" :gestation="pillar.gestation" :since="pillar.since" />
|
||||
</div>
|
||||
|
||||
<p class="leading-relaxed whitespace-pre-line mt-3" style="color: hsl(var(--color-text-muted))">{{ pillar.text }}</p>
|
||||
@@ -376,6 +373,7 @@
|
||||
<div :class="`i-lucide-${action.icon}`" class="h-3.5 w-3.5" />
|
||||
{{ action.label }}
|
||||
</a>
|
||||
<span v-for="action in (pillar as any).actions.filter((a: any) => a.note)" :key="`n-${action.label}`" class="pillar-action-note">{{ action.note }}</span>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
@@ -439,6 +437,13 @@ useSeoPage({
|
||||
line-height: 1.45;
|
||||
}
|
||||
|
||||
.pillar-action-note {
|
||||
align-self: center;
|
||||
font-family: var(--font-mono);
|
||||
font-size: 0.7rem;
|
||||
color: hsl(var(--axis-cit));
|
||||
}
|
||||
|
||||
.lpk-arrow { color: hsl(var(--color-primary)); flex-shrink: 0; }
|
||||
|
||||
@media (prefers-reduced-motion: reduce) {
|
||||
@@ -520,6 +525,7 @@ useSeoPage({
|
||||
|
||||
.pillar-header {
|
||||
display: flex;
|
||||
flex-wrap: wrap;
|
||||
align-items: center;
|
||||
gap: 0.75rem;
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user