Marché, mais moderne
Un système pensé pour les marchandes d'Abidjan : chaleureux, lisible en plein soleil, taillé pour le pouce. Pas de bleu corporate. Pas de tableau de bord lourd. Juste l'essentiel, bien posé.
Conçu pour le pouce, en 3G.
Contrastes élevés, ombres douces.
Terracotta + vert + doré, sans cliché.
Palette
Tokens sémantiques. N'utilise jamais une valeur brute en composant — toujours via Tailwind (ex. bg-primary).
DM Sans — échelle sémantique
Une seule famille (DM Sans) du PDF au mobile en passant par l'admin. Utiliser les classes sémantiques .text-h1, .text-body, .text-amount… plutôt que des tailles ad hoc.
DM Sans est aussi embarquée dans les reçus PDF — cohérence pixel-perfect entre l'app et l'impression.
Les chiffres s'alignent verticalement grâce à .text-amount.
CTA visibles, pouces heureux
Hauteur minimum 44 px. Le primaire est dégradé chaud. Coins arrondis (rounded-full ou rounded-xl).
Surfaces propres
Toujours rounded-2xl, ombre douce, bordure discrète. Le contenu respire.
Champs lisibles, gros doigts
Hauteur 48 px, label au-dessus, focus sur l'anneau primaire.
Étiquettes courtes
Toujours en MAJUSCULES légères, padding serré, fond doux + texte fort.
Chips d'état
Couleur = signal immédiat. Icône = lecture en un clin d'œil.
Chips paiement
Mobile money + cash + dépôt. Toujours visibles dans la liste de commandes.
Échelle 4 px
Tout est multiple de 4. Padding par défaut : 16 px (p-4). Sections : 32–48 px.
Lucide, taille 16–24
Stroke 2 px, monoline. Une icône = une action. Jamais décorative seule.
Bottom nav, 4–5 entrées
Toujours visible, pouces accessibles. Active = couleur primaire + label visible.
Variante : FAB central pour « Nouvelle vente ».
Sélecteurs & onglets
Préférer les tabs aux selects pour 2–4 choix visibles. Select pour listes longues.
Barres de recherche
Toujours avec icône loupe à gauche, raccourci clavier ⌘K sur desktop.
Sélecteur de date
Champ + popover calendrier. Plages rapides : aujourd'hui, 7j, 30j.
Stepper +/−
Tactile, ≥44 px, valeur en tabular-nums au centre.
Cartes de mesure
Une métrique = une carte. Toujours un delta vs période comparée.
Cartes produit
Image carrée 1:1, prix proéminent, stock visible.
Suivi de commande
Étapes claires, l'étape courante est mise en valeur, les passées sont validées.
- Commande reçue10:24
- Confirmée par la boutique10:31
- 3En préparation11:05
- 4En livraison—
- 5Livrée—
Cartes mode de paiement
Logo coloré + nom + délai. Sélection = bordure primaire + check.
Bulles de messagerie
Boutique à droite (primaire), cliente à gauche (carte). Heure discrète.
Pavé numérique
Touches généreuses (h-14), retour arrière en bas-droite, valider en accent.
Chips filtres
Filtres actifs visibles, croix pour retirer, bouton « Effacer tout ».
Tables denses (desktop)
Lignes hover, header sticky, montants alignés à droite en tabular-nums.
| Cliente | Statut | Total | ||
|---|---|---|---|---|
| #1042 | Fatou K. | En attente | 61 500 FCFA | |
| #1041 | Awa D. | Livrée | 30 000 FCFA | |
| #1040 | Mariam B. | En préparation | 18 500 FCFA |
Sidebar & topbar
Backoffice : sidebar 240 px, topbar 56 px, contenu max 1200 px.
Panneau latéral
Détail rapide sans quitter la liste. Largeur 420 px, fermeture par overlay.
Composants réutilisables
Importer depuis @/components/states et @/components/data plutôt que recoder.
Commande reçue
Via vitrine WhatsApp
Paiement confirmé
Orange Money — 61 500 FCFA
En préparation
Kadi prépare le colis
En livraison
Livrée
Aucune commande pour l'instant
Partage ta vitrine pour recevoir tes premières commandes.
Une erreur est survenue
Connexion interrompue. Réessaie dans un instant.
Détails techniques
NetworkError: failed to fetch /api/orders
Couverture des 20 familles
Statut de chaque famille du brief unifié DjassaLink.
À faire / à éviter
- Cibles tactiles ≥ 44 px
- Montants en tabular-nums
- Couleurs sémantiques (success / warning / destructive)
- Coins arrondis 2xl partout
- Une seule action primaire par écran
- Bleu corporate / look banque
- Tableaux denses style ERP
- Couleurs en dur dans les composants
- Plus de 2 polices
- Ombres lourdes ou néons