docs: update root .md files to reflect current frontend state and planned UX enhancements

- ARCHITECTURE.md: fix diagram (Server Detail was "planned", now complete), expand
  frontend directory listing with all 5 pages, all server components, all hooks
- FRONTEND.md: note planned terrain/display_name/workshop_id fields on Mission/Mod
  types; add planned hooks table for Phases 1-5 of UX enhancement plan
- MODULES.md: annotate PlayerRepository with get_by_slot() and ThreadRegistry with
  get_rcon_client() as planned additions in Phase 4
- API.md: add "Upcoming Endpoints" section documenting all planned routes for
  Phases 1-5 of the UX enhancement plan
- README.md: update unit test count (69 → ~120), update frontend structure comment
  to list all current pages/components/hooks
This commit is contained in:
Tran G. (Revernomad) Khoa
2026-04-17 15:50:33 +07:00
parent a688bdfdf9
commit e71dd9a600
5 changed files with 73 additions and 12 deletions

View File

@@ -30,7 +30,8 @@ Arma 3 is the first-class, built-in adapter. Adding a new game server type requi
```
+--------------------------------------------------------------+
| React Frontend (SPA) |
| Dashboard | Login | Server List | Server Detail (planned) |
| Login | Dashboard | Server Detail (7 tabs) | Create Server |
| Settings | (all routes complete) |
+------------------------------+-------------------------------+
| HTTP REST + WebSocket (/ws)
v
@@ -712,22 +713,38 @@ frontend/
pages/
LoginPage.tsx # Login form (react-hook-form + zod validation)
DashboardPage.tsx # Server dashboard with ServerCard grid
ServerDetailPage.tsx # 7-tab detail page (overview, config, players, bans, missions, mods, logs)
CreateServerPage.tsx # 4-step wizard (admin only)
SettingsPage.tsx # Password change + admin user management
components/
layout/
Sidebar.tsx # Sidebar navigation
servers/
ServerCard.tsx # Server status card with lifecycle buttons
ServerHeader.tsx # Server name, status, stats, lifecycle buttons
ConfigEditor.tsx # Tabbed config editor with optimistic locking
PlayerTable.tsx # Current players + history with search
BanTable.tsx # Ban list + create/revoke form
MissionList.tsx # Mission list + .pbo upload/delete
ModList.tsx # Mod list with enable/disable checkboxes
LogViewer.tsx # Log display with level filter (props-driven)
settings/
PasswordChange.tsx # Password change form
UserManager.tsx # User CRUD table (admin only)
ui/
StatusLed.tsx # Status LED indicator component
hooks/
useServers.ts # TanStack Query hooks for server CRUD + lifecycle
useServerDetail.ts # Config, players, bans, missions, mods, RCon hooks
useAuth.ts # Auth management hooks (users, password, logout)
useGames.ts # Game type hooks (list, detail, schema, defaults)
useWebSocket.ts # WebSocket hook with exponential backoff reconnect
store/
auth.store.ts # Zustand auth store (persisted to localStorage)
ui.store.ts # Zustand UI store (sidebar, notifications)
lib/
api.ts # Axios client with auth interceptors
__tests__/ # 12 unit test files (Vitest)
__tests__/ # 14 unit test files (~120 tests, Vitest)
tests-e2e/
auth/
login.spec.ts # Login E2E test