# Screen inventory (mirror of llm-fe) Source: `chat_web_app/llm-fe/src/App.tsx` routes + key shells. | Web route | Native v1 | Priority | Notes | |-----------|-----------|----------|-------| | `/signin/` | SignIn | P0 | Email/password JWT (`POST token/`) | | `/signup/` | SignUp | P0 | After create → RevenueCat purchase (Workstream E) | | `/auth/callback/` | Deep link / Custom Tab return | P1 | Google / Microsoft SSO | | `/password_reset/` | Custom Tab + deep link | P1 | | | `/password_reset_confirmation/` | Deep link | P1 | | | `/set_password/` | Deep link | P2 | | | `/` (AsyncDashboard2) | Chat | P0 | Conversations list + detail + compose | | `/account/` | Account | P0 | Usage, theme, billing (RC), delete account | | `/billing/success` `/billing/cancel` | N/A on Play | — | Stripe web only | | `/document_storage` | Deferred | P2 | Confirm product need on mobile | | `/feedback/` | Deferred | P2 | | | `/analytics/` | Deferred / omit | P3 | Tianji subset TBD | | `/terms_of_service/` `/legal/terms-of-service` | Custom Tab to web | P1 | | | `/account-deletion/` | Custom Tab to public URL | P0 (store) | `https://hesychia.ai/account-deletion/` (#103) | | NotFound | System back / empty | — | | ## Chat subflows (from AsyncDashboard2 / ConversationDetailCard) - Conversation list create / select / rename / delete - Message history load + pagination - Streaming tokens over WebSocket - Markdown / code / citations - Message actions (copy, regenerate, …) — product prune ## Account subflows - Usage meters - Theme: dark mode + palette (`blue|green|purple|orange|red`) - Billing: subscribe / restore / manage (RevenueCat; badge `revenuecat` + `PLAY_STORE`) - Delete account → `DELETE /api/user/` + RC `logOut`