feat(ui): vague 4 — la zone de dépôt répond, l'or devient lisible, tarifs binaires, avant/après réel
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m58s
All checks were successful
Deploy to Production / Build and Deploy (push) Successful in 2m58s
Zone de dépôt : le contour s'allume en doré et la carte s'agrandit quand on la survole avec un fichier (l'information existait, elle n'était jamais affichée). Or lisible : nouveau jeton « or encre » (#8B6F47) pour les textes, l'or clair reste aux traits, fonds et au mode sombre ; 52 textes dorés convertis, pastille comprises ; plus aucun texte sous 10 px (8,5 px → 11 px dans le sélecteur de moteurs). Tarifs : le choix redevient binaire — les trois abonnements payants en grandes cartes, le gratuit en ligne discrète au-dessus, le sur mesure en ligne dorée dessous. Le tableau comparatif complet reste dessous. Accueil : le mur de six cartes génériques est remplacé par un vrai avant/après — une page « Cahier des charges — Traitement d'air » à côté de sa traduction anglaise, structure identique au mot près (terme technique en gras des deux côtés), sceau « Même mise en page, mot pour mot » entre les deux, et trois preuves précises (SmartArt reconstruits, séries de graphiques traduites, tables des matières régénérées) à la place des promesses vagues.
This commit is contained in:
@@ -112,7 +112,7 @@ function Combobox({
|
||||
)}
|
||||
>
|
||||
<span className="truncate normal-case">{label || placeholder}</span>
|
||||
<ChevronDown className={cn('size-3.5 shrink-0 text-brand-accent transition-transform ms-2', open && 'rotate-180')} />
|
||||
<ChevronDown className={cn('size-3.5 shrink-0 text-brand-goldink dark:text-brand-accent transition-transform ms-2', open && 'rotate-180')} />
|
||||
</button>
|
||||
{open && (
|
||||
<div
|
||||
@@ -145,12 +145,12 @@ function Combobox({
|
||||
className={cn(
|
||||
'flex w-full items-center justify-between rounded-lg px-2.5 py-2 text-xs font-bold uppercase tracking-wider transition-colors cursor-pointer',
|
||||
value === lang.code
|
||||
? 'bg-brand-accent/10 text-brand-accent'
|
||||
? 'bg-brand-accent/10 text-brand-goldink dark:text-brand-accent'
|
||||
: 'text-brand-dark/70 dark:text-white/70 hover:bg-brand-muted dark:hover:bg-white/5'
|
||||
)}
|
||||
>
|
||||
<span className="truncate">{lang.name}</span>
|
||||
{value === lang.code && <Check className="size-3.5 text-brand-accent shrink-0" />}
|
||||
{value === lang.code && <Check className="size-3.5 text-brand-goldink dark:text-brand-accent shrink-0" />}
|
||||
</button>
|
||||
))}
|
||||
</div>
|
||||
@@ -213,7 +213,7 @@ export default function LanguageSelector({
|
||||
className={cn(
|
||||
'flex size-7 items-center justify-center rounded-xl transition-all cursor-pointer',
|
||||
canSwap
|
||||
? 'text-brand-dark/50 dark:text-white/50 hover:text-brand-accent hover:bg-brand-muted/50 dark:hover:bg-white/5'
|
||||
? 'text-brand-dark/50 dark:text-white/50 hover:text-brand-goldink dark:text-brand-accent hover:bg-brand-muted/50 dark:hover:bg-white/5'
|
||||
: 'cursor-not-allowed opacity-30'
|
||||
)}
|
||||
title={t('langSelector.swap')}
|
||||
|
||||
Reference in New Issue
Block a user