Skip to content

Notification visuelle (icône + badge) pour les nouvelles entrées changelog #293

Description

@ronan-develop

Description

Depuis la page /changelog (#290), rien ne signale à l'utilisateur qu'une nouvelle évolution vient d'être ajoutée — il faut visiter la page pour le savoir. Ajouter une icône (type cloche/bulle de notification) dans la topbar, avec un badge affichant le nombre de nouvelles entrées changelog depuis la dernière visite.

Piste de correction

  • Icône dans hc-topbar-right (à côté du toggle thème / avatar), avec un badge numérique si count > 0
  • Nécessite de savoir ce que l'utilisateur a déjà vu : comparer le nombre d'entrées retournées par ChangelogFetcherInterface::fetchEntries() (Page changelog — grands thèmes de l'historique git avec dates #290) à un marqueur "dernière visite" — deux pistes possibles :
    1. Champ sur User (ex: lastChangelogViewedAt), mis à jour à la visite de /changelog — cohérent entre appareils, nécessite une migration
    2. localStorage côté client (même pattern que le toggle thème, cf. drawer_theme_controller.js) — plus simple, pas de migration, mais pas partagé entre appareils/navigateurs
  • Le badge doit disparaître (ou repasser à 0) une fois la page /changelog visitée

Critères d'acceptation

  • Une icône de notification est visible dans la topbar sur toutes les pages
  • Le badge affiche le nombre d'entrées changelog ajoutées depuis la dernière visite de /changelog
  • Après visite de /changelog, le badge repasse à 0 (ou disparaît)
  • Aucune notification si aucune nouvelle entrée depuis la dernière visite
  • Tests : premier accès (jamais visité), nouvelles entrées après une visite, badge remis à zéro après visite

Zone concernée

Frontend + Backend (selon la piste de stockage retenue)

Effort estimé

S — demi-journée

Metadata

Metadata

Assignees

No one assigned

    Labels

    featureNouvelle fonctionnalitéfrontendCSS, Twig, Stimulus, JS

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions