Skip to content

feat: numărul de noutăți necitite și bulina roșie pe clopoțel - #667

Merged
radulescuandrew merged 1 commit into
developfrom
vic2/indraznet-fix-notif
Nov 13, 2026
Merged

radulescuandrew merged 1 commit into
developfrom
vic2/indraznet-fix-notif

Conversation

@radulescuandrew

Copy link
Copy Markdown
Contributor

Ce face

Numărul de noutăți necitite și bulina roșie de pe clopoțelul de pe Acasă, ca în prototip.

Backend

  • Până acum nu exista o stare „citit” pentru Noutăți. Am adăugat-o per utilizator: coloana user.news_last_seen_at.
  • Migrare: 1794450000000-NewsLastSeenAt. Adaugă "user".news_last_seen_at timestamptz NOT NULL DEFAULT now(), iar down o șterge. Utilizatorii existenți primesc momentul migrării, deci nimeni nu vede bulină pentru noutăți vechi.
  • GET /mobile/news/unread-count → { unread }: noutățile create după news_last_seen_at, cu aceleași evenimente și aceeași vizibilitate ca lista (am mutat filtrul într-un singur loc).
  • POST /mobile/news/seen → 204: marchează totul ca văzut. E un apel explicit pentru că GET /mobile/news e paginat și se reîncarcă pe fiecare tab, deci nu arată de încredere când a fost deschis ecranul.
  • Teste: unit (news-unread.spec.ts) și e2e (mobile-news-unread.e2e-spec.ts): vizibilitate, utilizator nou, seen → 0, 401.

Mobile

  • CountBadge nou în src/design/components, după .badge-n din prototip: roșu #C8321F, inel paper, „9+” peste 9, ascuns la 0
  • clopoțelul de pe Acasă arată bulina; VoiceOver citește „Noutăți, 1 necitită” / „Noutăți, N necitite”
  • numărul se reîncarcă la focus și la pull-to-refresh
  • Noutăți marchează totul ca văzut o singură dată, când se deschide

Verificat

  • backend: lint, tsc, unit; e2e-ul nou trece
  • mobile: tsc, lint (0 erori), jest 375/375
  • simulator iOS 26.5 pe API-ul local pornit din acest cod, cu migrarea rulată: cu o noutate nouă apare bulina „1”; după ce deschid Noutăți și revin, bulina dispare

Pe staging trebuie rulată migrarea NewsLastSeenAt1794450000000.

…casă

Backend: coloana user.news_last_seen_at (migrarea NewsLastSeenAt1794450000000),
GET /mobile/news/unread-count ({ unread }) și POST /mobile/news/seen (204).
Numărul folosește aceleași evenimente și aceeași vizibilitate ca lista Noutăți.

Mobil: bulina .badge-n pe clopoțel (ascunsă la 0, 9+ peste 9), etichetă
„Noutăți, N necitite”, Noutăți marchează citirea la deschidere, Acasă reîncarcă
numărul la fiecare focus.
@radulescuandrew
radulescuandrew merged commit fd1ea70 into develop Nov 13, 2026
5 checks passed
@radulescuandrew
radulescuandrew deleted the vic2/indraznet-fix-notif branch November 13, 2026 06:50
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant