25 lines
878 B
Markdown
25 lines
878 B
Markdown
# UI Checklist
|
|
|
|
## Structure
|
|
|
|
- [ ] No direct `invoke(...)` outside `src/api/tauriCommands.ts`.
|
|
- [ ] New reusable UI uses `src/ui/*` components or extends them.
|
|
- [ ] New business/display logic is not buried in JSX if it can be tested separately.
|
|
- [ ] `App.tsx` was not made worse without justification.
|
|
|
|
## Accessibility and behavior
|
|
|
|
- [ ] Buttons have accessible names.
|
|
- [ ] Toggle state uses `aria-pressed` or equivalent.
|
|
- [ ] Tabs/popovers preserve keyboard and screen-reader behavior.
|
|
- [ ] Reduced motion preference is respected where animation is added.
|
|
- [ ] Errors are visible and readable.
|
|
|
|
## ProxyWarden-specific
|
|
|
|
- [ ] External SOCKS5 route does not require sing-box.
|
|
- [ ] Local sing-box route requires selected server and readiness.
|
|
- [ ] Route chain matches actual backend state.
|
|
- [ ] Apply readiness gives a clear reason.
|
|
- [ ] Summary remains read-only.
|