Files
Socialflow/design_guidelines.md
T

44 lines
2.9 KiB
Markdown
Raw Blame History

This file contains ambiguous Unicode characters
This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.
# Social Flow - Design Guidelines
Interface sobre et lisible, en français, pensée d'abord pour être comprise sans formation.
Toutes les couleurs passent par les tokens de `client/src/index.css` (modes clair et sombre).
## Identité
- **Logo** : `components/brand/logo.tsx` (`<Logo />`, `<LogoMark />`) — deux ondes qui s'écoulent vers un point, sur un carré arrondi en dégradé indigo → corail. Même dessin dans `client/public/favicon.svg`.
- **Primaire** : indigo `#4F46E5` (`primary`) — actions, éléments actifs, focus.
- **Accent** : corail `#F97362` (`brand-accent`) — uniquement dans le dégradé de marque.
- **Dégradé de marque** (`.gradient-brand`, bouton `variant="brand"`) : réservé au logo et à **une seule** action principale par écran (publier, créer, se connecter).
- **Statuts** : `success` (publié, actif), `warning` (bientôt expiré), `destructive` (échec, suppression), `info` (en cours).
- **Plateformes** : `facebook`, `instagram`, `tiktok` — via `components/platform-icon.tsx`.
- Ne jamais utiliser de couleurs Tailwind brutes (`bg-blue-500`, `#1877F2`…) ni `text-white` sur une surface de l'interface.
## Typographie
- Inter (400–700), JetBrains Mono pour les identifiants et le SQL.
- Titre de page : `PageHeader` (`text-2xl sm:text-[28px] font-semibold`).
- Titre de carte : `CardTitle` (`text-base font-semibold`), description en `text-muted-foreground`.
## Mise en page
- **Shell** : `components/layout/app-shell.tsx` — sidebar groupée sur desktop (≥ lg), en-tête + barre de navigation basse sur mobile (Accueil, Calendrier, **Créer**, Médias, Menu). La navigation est définie une seule fois dans `components/layout/nav-config.ts`.
- **Contenu** : chaque page commence par `<Page width="narrow|default|wide">` puis `<PageHeader icon title description actions />`.
- `narrow` (max-w-3xl) : formulaires simples
- `default` (max-w-6xl) : la plupart des pages
- `wide` (1400px) : tableau de bord, calendrier, médiathèque
- Une seule version responsive par écran : pas de pages mobiles séparées.
## Composants
- **Cartes** : `Card` sans surcharge de style (`rounded-xl border shadow-soft`).
- **États vides** : `components/empty-state.tsx` avec une action suggérée.
- **Parcours de création** : `components/stepper.tsx` (`Stepper` + `StepNavigation`), utilisé par Publication et Reel. On explique toujours pourquoi une étape est verrouillée.
- **Choix exclusifs** : cartes sélectionnables (`RadioGroup` dans un `label` bordé), pas de listes déroulantes quand il y a 2 à 4 options.
- **Suppressions** : toujours confirmées par `AlertDialog`, jamais `confirm()`.
- **Badges** : variantes `success`, `warning`, `info`, `danger`, `muted`.
## Rédaction
- Verbes d'action clairs : « Importer », « Programmer », « Connecter un compte ».
- Pas d'anglicismes (« Uploader », « Token ») ni de jargon technique visible par défaut : les détails vont dans un bloc « Besoin d'aide ? » repliable.