feat(ui): notification center with leveled toasts and error capture

- Replace the toast store with a notification store: levels (info/success/
  warning/error/fatal), requiresInteraction, and a persisted history.
- Move toasts to the top-right, styled per level, with manual dismiss.
- Add a bell in the header opening a Notification Center (history, unread badge,
  'needs attention' vs info, clear all).
- Capture network failures and 5xx responses (api layer) and render crashes
  (ErrorBoundary) as notifications.
- Sound + server-sourced events + per-account settings remain for 6b.
This commit is contained in:
npeter83 2026-06-11 19:26:34 +02:00
parent 01960d3bb7
commit 2c51e4434b
9 changed files with 403 additions and 68 deletions

View file

@ -2,6 +2,7 @@ import React from "react";
import { createRoot } from "react-dom/client";
import { QueryClient, QueryClientProvider } from "@tanstack/react-query";
import App from "./App";
import ErrorBoundary from "./components/ErrorBoundary";
import "./index.css";
const queryClient = new QueryClient({
@ -11,7 +12,9 @@ const queryClient = new QueryClient({
createRoot(document.getElementById("root")!).render(
<React.StrictMode>
<QueryClientProvider client={queryClient}>
<App />
<ErrorBoundary>
<App />
</ErrorBoundary>
</QueryClientProvider>
</React.StrictMode>
);