Suivi de dossier
تتبع الملفDossier tracker
src/dsm/components/dossier-tracker.tsxImport
import { DossierTracker } from "@/dsm/components/dossier-tracker";Exemples
En cours d'instruction
Le cas courant : quelques étapes franchies, un délai estimé.
Référence2026-114872
Renouvellement de passeport biométrique
- Déposé le
- 2 septembre 2026
- Mis à jour le
- 9 septembre 2026
- Délai estimé
- sous 8 jours ouvrés
Demande déposée — Terminée
2 sept.
Formulaire et pièces reçus par la préfecture de Rabat.
Pièces vérifiées — Terminée
4 sept.
Instruction par la préfecture — En cours
Vérification d'identité et de l'ancien titre.
Fabrication du passeport — À venir
Retrait au guichet — À venir
Action requise
Une pièce manque : l'étape est bloquée et la prochaine action est mise en avant.
Référence2026-118204
Demande d'extrait d'acte de naissance
- Déposé le
- 11 septembre 2026
- Mis à jour le
- 12 septembre 2026
Demande déposée — Terminée
11 sept.
Pièces vérifiées — En cours
La copie de la CNIE est illisible : le recto doit être entièrement visible.
Signature électronique de l'officier d'état civil — À venir
Extrait disponible — À venir
Prêt
Toutes les étapes sont franchies ; l'action est le retrait ou le téléchargement.
Référence2026-109331
Attestation de régularité fiscale
- Déposé le
- 1er septembre 2026
- Mis à jour le
- 3 septembre 2026
Demande déposée — Terminée
1er sept.
Situation fiscale vérifiée — Terminée
2 sept.
Attestation signée — Terminée
3 sept.
Document PDF signé électroniquement, valable 3 mois.
Usage
Quand l'utiliser
- Utilisez le suivi de dossier dès qu'un usager a déposé une demande : page « Mes démarches », e-mail de confirmation, espace personnel.
- Renseignez `action` chaque fois qu'un statut attend quelque chose de l'usager (pièce manquante, retrait, paiement) : c'est l'information la plus utile de la carte.
- Gardez le vocabulaire des six statuts ; il est traduit dans les quatre locales et cohérent d'un service à l'autre.
Quand ne pas l'utiliser
- N'utilisez pas ce composant pour une chronologie éditoriale ou un historique sans statut : préférez `Timeline`.
- N'inventez pas de statut supplémentaire (« en attente de signature ») : exprimez-le dans la description de l'étape courante.
Accessibilité & langues
Accessibilité
- Chaque étape annonce son état (terminée, en cours, à venir) dans un texte masqué pour les lecteurs d'écran ; l'état n'est jamais porté par la couleur seule.
- La référence est copiable par un bouton dont le libellé passe de « Copier » à « Copié » ; la référence elle-même reste sélectionnable.
- La prochaine action est un vrai bouton ou lien, jamais une simple mention.
RTL & multilingue
- Le fil des étapes et les marqueurs utilisent des propriétés logiques ; la référence reste en `dir="ltr"` comme sur le récépissé.
- Les libellés de statut et de métadonnées viennent du dictionnaire (fr, ar, zgh, en).
Propriétés
| Propriété | Type | Défaut | Description |
|---|---|---|---|
| reference* | string | — | Référence du dossier, affichée en monospace avec un bouton de copie. |
| title* | ReactNode | — | Intitulé de la demande. |
| status* | "submitted" | "in-review" | "action-required" | "approved" | "rejected" | "ready" | — | Statut courant, traduit et coloré automatiquement. |
| steps* | { label, date?, description? }[] | — | Étapes ordonnées de la procédure. |
| currentStep* | number | — | Index de l'étape en cours ; `steps.length` quand tout est terminé. |
| submittedAt / updatedAt / expectedBy | ReactNode | — | Métadonnées affichées sous le titre (le délai est masqué une fois le dossier clos). |
| action | { label, href?, onClick?, description? } | — | Prochaine action pour l'usager, dans un encadré dont le ton suit le statut. |
| contact | ReactNode | — | Ligne d'aide affichée sous les étapes. |