aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/pages/TournamentPage.tsx
AgeCommit message (Collapse)Author
2026-03-19Fix tournament bracket connector linesClaude
The bracket connectors had two issues: 1. The center vertical line from each connector went to the wrong position, not aligning with child connectors below 2. No vertical lines connected round-0 connectors to player cards Redesign the Connector component to draw: - A center stem going UP (connecting to parent round) - A horizontal line (connecting left/right branches) - Two legs going DOWN at half-center positions (connecting to children) Also add vertical stem lines above each player card to bridge the gap between round-0 connector legs and the player boxes. https://claude.ai/code/session_01NKA6A2uWXJBRknZZcwMGCn
2026-03-19Remove MatchCell from tournament bracket, use connector line colors onlyClaude
MatchCell displayed player names redundantly alongside PlayerCards. Now tournament progression is shown only through connector line colors: pink for winner, gray for loser, black for undecided. https://claude.ai/code/session_01PoJoubE1hzxHhxMYFKzReb
2026-03-06style: switch from tab to space indentation in frontend and worker/phpnsfisis
Update biome.json indentStyle from "tab" to "space" and reformat all files in both workspaces. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28feat(frontend): change brand color for PHPerKaigi 2026nsfisis
2026-02-18feat: refactor tournament to generic DB-backed N-person bracketnsfisis
Replace hardcoded 6-person tournament with a generic single-elimination bracket system backed by new DB tables (tournaments, tournament_entries, tournament_matches). Includes admin CRUD, standard seeding algorithm, bye handling, and a CSS Grid bracket renderer on the frontend. Add comprehensive tests for backend API/admin handlers, seeding logic, and frontend bracket component. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-17feat: rename iOSDC Japan 2025 references to PHPerKaigi 2026nsfisis
Replace all remaining references to the forked event name: - Base path: /iosdc-japan/2025/code-battle/ → /phperkaigi/2026/code-battle/ - Display text and HTML titles - CSS utility class: bg-iosdc-japan → bg-phperkaigi - GitHub Actions submodule path: albatross-swift-2025 → albatross-php-2026 Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-14feat(frontend): update dependenciesnsfisis
2026-02-13feat(auth): store JWT in HTTP-only cookie instead of JS-accessible cookiensfisis
Prevent XSS-based token theft by making the JWT inaccessible to JavaScript. The backend now sets/clears the cookie via Set-Cookie headers, and the frontend retrieves user info from /api/me instead of decoding the JWT directly. - Add JWTCookieMiddleware to parse cookie and inject claims into context - Add /me and /logout endpoints to OpenAPI spec and handlers - Update PostLogin to return user object + Set-Cookie header - Replace Authorization header auth with cookie-based auth throughout - Rewrite frontend auth to use /api/me instead of jwt-decode - Remove jwt-decode dependency - Configure CORS with credentials for local dev Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-13refactor(frontend): replace React Router BFF with Wouter SPAnsfisis
Remove React Router 7 SSR/BFF architecture (server-side loaders, actions, sessions, remix-auth) and replace with a client-side SPA using Wouter for routing and cookie-based JWT auth. - Replace reactRouter() Vite plugin with @vitejs/plugin-react - Add index.html + app/main.tsx as SPA entry points - Add Wouter routing with auth guards (ProtectedRoute/PublicOnlyRoute) - Add client-side auth (app/auth.ts) and useAuth hook - Migrate all route files to app/pages/ with client-side data fetching - Update NavigateLink and GolfPlayAppGaming to use Wouter Link - Remove .server/, routes/, root.tsx, react-router.config.ts - Clean up tsconfig.json (remove .react-router references) Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>