MosswartOverlord/frontend
Erik 938421999a feat(v2): Quest Status + Player Dashboard as React windows
Quest Status window (📜 Quests in sidebar):
- Fetches GET /quest-status API (polls every 30s)
- Grid: characters as rows × all unique quests as columns
- "READY" shown in green, countdowns in yellow, missing as dash
- Quest names shortened (removes "Timer", "Pickup" suffixes)
- Sticky header row, scrollable body
- Replaces broken quest-status.html link

Player Dashboard window (👥 Dashboard in sidebar):
- Sortable table of all online characters
- Columns: Character, State, KPH, Session kills, Total kills,
  Rares (total + session), Deaths, Uptime, HP%, Tapers
- Click column headers to sort (ascending/descending toggle)
- State badges: green=combat/hunt, red=other, gray=idle
- KPH in green, rares in gold, deaths in red (if > 0)
- HP% color-coded: green >80%, yellow >40%, red below

Sidebar changes:
- Removed broken /quest-status.html external link
- Added 👥 Dashboard + 📜 Quests as window opener buttons
- Both lazy-loaded (only fetched when first opened)

Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-04-14 14:02:00 +02:00
..
public perf(v2): 8 optimizations — 24% smaller bundle, fewer re-renders 2026-04-14 12:11:08 +02:00
src feat(v2): Quest Status + Player Dashboard as React windows 2026-04-14 14:02:00 +02:00
.gitignore feat: v2 dashboard — React + Vite parallel implementation 2026-04-12 15:07:11 +02:00
index.html perf(v2): 8 optimizations — 24% smaller bundle, fewer re-renders 2026-04-14 12:11:08 +02:00
package-lock.json feat: v2 dashboard — React + Vite parallel implementation 2026-04-12 15:07:11 +02:00
package.json feat: v2 dashboard — React + Vite parallel implementation 2026-04-12 15:07:11 +02:00
tsconfig.json feat: v2 dashboard — React + Vite parallel implementation 2026-04-12 15:07:11 +02:00
tsconfig.tsbuildinfo chore: update tsconfig build cache — working baseline 2026-04-14 12:06:50 +02:00
vite.config.ts feat: v2 React frontend is now primary at / 2026-04-14 12:17:23 +02:00