Parent issue: #20
Context
When backend operations fail (reindex, git operations, config save), users see no feedback. Errors are logged to console but not surfaced in the UI.
Scope
Build a reusable toast/notification component:
- Create
src/components/ui/Toast.tsx — a notification component with:
- Variants:
success, error, warning, info
- Auto-dismiss (configurable timeout, default 5s)
- Manual dismiss button
- Stack multiple toasts
- Create a toast store or context (
useToast hook)
- Add
<ToastContainer /> to the root layout
- Wire up 2-3 existing error paths as proof of concept (e.g., reindex failure, settings save error)
Design
Follow the existing design system (shadcn/ui + Tailwind). Keep it minimal — no external toast libraries.
References
- Existing UI components:
src/components/ui/
- Global layout:
src/app/layout.tsx
Parent issue: #20
Context
When backend operations fail (reindex, git operations, config save), users see no feedback. Errors are logged to console but not surfaced in the UI.
Scope
Build a reusable toast/notification component:
src/components/ui/Toast.tsx— a notification component with:success,error,warning,infouseToasthook)<ToastContainer />to the root layoutDesign
Follow the existing design system (shadcn/ui + Tailwind). Keep it minimal — no external toast libraries.
References
src/components/ui/src/app/layout.tsx