Work / Scrvio / Wiki / Surfaces
toasts
Surfacecanonicalverified 2026-10-04
SURFACE.WEB.TOASTSSummary
A specimen sheet of every toast string the site raises.
Raw wireframe
- .context/designs/web/patterns/toasts.html
Why it is drawn this way
Extracted, not retyped. Every toast.success(, toast.error( and toast.info( in apps/website/src and packages/ui/src, grouped by file: 98 strings in 25 files.
Most errors are the server's words. The common shape is err instanceof Error ? err.message : "Failed to …". Only the fallback literal is drawn; the dynamic message is skipped.
Placeholders stand for runtime values. {error}, {count}, {s}, {provider}, {email} replace the ${…} in template strings.
One info toast. "Checkout was canceled" on the billing page. Everything else is success or error.
Form validation is done with toasts. "Name is required", "Passwords do not match", "Email is required" and the storage checks are toasts, not inline field errors.
No <Toaster /> is mounted. Every sonner import in both source trees is { toast }; nothing renders the container. As the code stands these calls show nothing, which matters most where a toast is the only validation message. The sheet draws what each call asks for; the lucide icon only marks the kind.
Related
Sources
- apps/website/src (every toast.* call)
- packages/ui/src/hooks/use-auth.ts
- packages/ui/src/components/ui/copy-button.tsx