feat(notifications): unify the two rail indicators into one inbox
Fold the client-side transient bell into the inbox page so there's a single notification indicator. The inbox now has two groups — "System" (durable, server-backed) and "Activity" (client-side events with their Unhide/Unwatch/ Find-in-feed actions) — and the nav badge sums both unread counts. The separate rail bell (NotificationCenter) is removed. Activity items get a per-item clear (X) alongside the global Clear all. Unhiding or unwatching a video from anywhere — a card, the toast's Undo, or the inbox — now quietly resolves the original "Hidden/Watched X" entry (no duplicate "Unhidden X" toast, no stale entry with a dead action), via a new resolveVideo store helper.
This commit is contained in:
parent
dd83718304
commit
d3c6ce659c
8 changed files with 246 additions and 41 deletions
|
|
@ -252,8 +252,6 @@ export default function App() {
|
|||
onOpenAbout={() => setAboutOpen(true)}
|
||||
onChangeLanguage={changeLanguage}
|
||||
language={i18n.language as LangCode}
|
||||
filters={filters}
|
||||
setFilters={setFilters}
|
||||
/>
|
||||
<div className="relative flex-1 min-w-0 flex flex-col">
|
||||
<Header
|
||||
|
|
@ -305,7 +303,7 @@ export default function App() {
|
|||
) : page === "playlists" ? (
|
||||
<Playlists canWrite={meQuery.data!.can_write} />
|
||||
) : page === "notifications" ? (
|
||||
<NotificationsPanel />
|
||||
<NotificationsPanel filters={filters} setFilters={setFilters} setPage={setPage} />
|
||||
) : page === "settings" ? (
|
||||
<SettingsPanel
|
||||
me={meQuery.data!}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue