## What
15 hand-rolled `{errors.x && <p className="text-sm
text-red-500">...</p>}` blocks across 6 components (label/category
create+edit dialogs, automation-rule form, rule builder) replaced with
the existing `InputError` component.
Bonus: `InputError` uses `text-red-600 dark:text-red-400` — the inline
copies had **no dark-mode variant** (CLAUDE.md requires dark-mode
support).
## Stats
- **-63 / +21 lines**
## Checks
- `bun run test` — 154 passed
- `bun run lint` / `format` — clean (1 pre-existing warning)
- `tsc --noEmit` — 59 pre-existing errors, none new
Part of duplication-removal series (#475–#482).
|
||
|---|---|---|
| .. | ||
| create-label-dialog.tsx | ||
| delete-label-dialog.tsx | ||
| edit-label-dialog.tsx | ||