Files

878 B

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.