aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/pages/TournamentPage.tsx
AgeCommit message (Collapse)Author
2026-03-20style(frontend): thicken tournament bracket connector linesnsfisis
Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20style(frontend): improve tournament bracket visual presentationnsfisis
- Use brand-600 color for winner lines instead of pink-700 - Unify border width to 2px across all bracket lines - Fix vertical lines changing color midway by using child match winner color for leg segments - Add vertical stem above final round connector - Increase vertical line height (3x) for better visual spacing Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-20fix(frontend): fix quarter-final bracket horizontal lines overshooting leg ↵nsfisis
positions Replace grid-based horizontal line positioning with flex + fixed 25% width approach. The grid calculation broke at colSpan=2 because Math.floor(1/2)=0 couldn't express half-column offsets. Also remove seed number display from player cards. Co-Authored-By: Claude Opus 4.6 (1M context) <noreply@anthropic.com>
2026-03-19Fix tournament bracket horizontal lines extending beyond vertical leg positionsClaude
The horizontal connector lines were spanning the full width of each connector cell (columns 1 to colSpan), but they should only span between the centers of the left and right halves where the vertical legs are positioned. For example, with colSpan=8, the line was drawn across all 8 columns instead of only columns 3-6 (between the two vertical leg positions at columns 2.5 and 6.5). https://claude.ai/code/session_01JSWpL1UdZ2r6ppSmKJJXMb
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>