No description
Closing the dialog on success left the OK click completely silent — the user had to go hunting the table for the new row to find out whether anything had happened. A toast says so plainly and then gets out of the way. It carries the useful part: invoice number, line count, billed total, how many lines booked, and — the bit that actually needs action — the machine codes that could not be matched, named rather than left for the user to infer from the badge. Auto-dismisses after six seconds, dismissible by hand, and clears when the dialog is reopened. Announced via role=status / aria-live=polite rather than assertively: a confirmation is not urgent and should not cut into whatever a screen reader is currently saying. No toast library — the app needs exactly one, and a dependency would carry far more surface than that. Sits above the dialog's z-50, full-width on mobile and bottom-right from sm up, with a 44px dismiss target. Co-Authored-By: Claude Opus 4.8 (1M context) <noreply@anthropic.com> |
||
|---|---|---|
| .mavis/canvas-assets | ||
| app | ||
| components | ||
| data/source | ||
| lib | ||
| public | ||
| scripts | ||
| .dockerignore | ||
| .env.example | ||
| .gitignore | ||
| AGENTS.md | ||
| COOLIFY.md | ||
| Dockerfile | ||
| HANDOFF-PROMPT-2.md | ||
| HANDOFF-PROMPT-3.md | ||
| HANDOFF-PROMPT-4.md | ||
| HANDOFF-PROMPT.md | ||
| next.config.ts | ||
| package-lock.json | ||
| package.json | ||
| postcss.config.mjs | ||
| tsconfig.json | ||