Vue · Transversal
Centre de notifications
DisponibleInbox unifiée : onglets par catégorie, liste de notifications avec avatar et badge de statut, filtres et actions groupées (tout marquer comme lu). Pour centraliser alertes, mentions et événements système.
Rendu multi-framework
Centre de notifications (données mock)
3 notifications non lues
Marie LefebvreMention09:42
Vous a mentionné dans « Refonte ERP Airbus »
SystèmeAlerte09:15
Échec du job d'import de données (lot #2847)
Karim BenaliApprobation08:57
En attente de votre validation pour le devis #4412
Sophie DurandCommentaire08:30
A répondu à votre commentaire sur la migration Safran
SystèmeSuccès07:55
Export CSV terminé — 1 248 lignes générées
Voir le code (Svelte)
<div class="nc-shell">
<div class="nc-toolbar">
<Tabs
activeValue="all"
label="Filtres de notifications"
items={[{"value":"all","label":"Tout","content":""},{"value":"mentions","label":"Mentions","content":""},{"value":"alerts","label":"Alertes","content":""},{"value":"system","label":"Système","content":""}]}
/>
<div class="nc-actions">
<Button variant="ghost" size="sm">Tout marquer comme lu</Button>
<OverflowMenu
label="Filtrer"
triggerLabel="Filtrer"
placement="bottom-end"
items={[{"value":"unread","label":"Non lus seulement"},{"value":"mentions","label":"Mentions"},{"value":"alerts","label":"Alertes"}]}
/>
</div>
</div>
<Alert tone="info">3 notifications non lues</Alert>
<div class="nc-list">
<div class="nc-row">
<Avatar name="Marie Lefebvre" size="sm" tone="category1" />
<div class="nc-body">
<div class="nc-top">
<span class="nc-sender">Marie Lefebvre</span>
<Badge tone="info">Mention</Badge>
<span class="nc-time">09:42</span>
</div>
<p class="nc-msg">Vous a mentionné dans « Refonte ERP Airbus »</p>
</div>
<div class="nc-dot-wrap">
<span class="nc-dot" />
</div>
</div>
<div class="nc-row">
<Avatar name="Système" size="sm" tone="category3" />
<div class="nc-body">
<div class="nc-top">
<span class="nc-sender">Système</span>
<Badge tone="error">Alerte</Badge>
<span class="nc-time">09:15</span>
</div>
<p class="nc-msg">Échec du job d'import de données (lot #2847)</p>
</div>
<div class="nc-dot-wrap">
<span class="nc-dot" />
</div>
</div>
<div class="nc-row">
<Avatar name="Karim Benali" size="sm" tone="category2" />
<div class="nc-body">
<div class="nc-top">
<span class="nc-sender">Karim Benali</span>
<Badge tone="warning">Approbation</Badge>
<span class="nc-time">08:57</span>
</div>
<p class="nc-msg">En attente de votre validation pour le devis #4412</p>
</div>
<div class="nc-dot-wrap">
<span class="nc-dot" />
</div>
</div>
<div class="nc-row nc-row--read">
<Avatar name="Sophie Durand" size="sm" tone="category4" />
<div class="nc-body">
<div class="nc-top">
<span class="nc-sender">Sophie Durand</span>
<Badge tone="neutral">Commentaire</Badge>
<span class="nc-time">08:30</span>
</div>
<p class="nc-msg">A répondu à votre commentaire sur la migration Safran</p>
</div>
<div class="nc-dot-wrap" />
</div>
<div class="nc-row nc-row--read">
<Avatar name="Système" size="sm" tone="category5" />
<div class="nc-body">
<div class="nc-top">
<span class="nc-sender">Système</span>
<Badge tone="success">Succès</Badge>
<span class="nc-time">07:55</span>
</div>
<p class="nc-msg">Export CSV terminé — 1 248 lignes générées</p>
</div>
<div class="nc-dot-wrap" />
</div>
</div>
</div>