aboutsummaryrefslogtreecommitdiffhomepage
path: root/frontend/app/components
AgeCommit message (Collapse)Author
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-03-05fix(frontend): hide code column in ranking table when code is not availablensfisis
2026-03-01feat(frontend): show submission history on play screennsfisis
Replace the placeholder submission status section with a full submission history table using the existing getGamePlaySubmissions API. Extract shared DataTable, DataTableCell, and formatUnixTimestamp from RankingTable into a reusable Gaming/DataTable component. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01fix(frontend): render line numbers before syntax highlighting to prevent ↵nsfisis
layout shift Show plaintext with Shiki-compatible line structure (.shiki > code > .line) from the start, so CSS line-number counters apply immediately. This prevents the popover from jittering when Shiki replaces the content. If Shiki fails, the plaintext with line numbers remains as a natural fallback. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-03-01fix(frontend): add right padding to code block to prevent copy button overlapnsfisis
Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28feat(admin): allow admin users to view and submit code before game startsnsfisis
Admin users can now access the gaming UI (problem description, code editor, submit button) even when a game has not started yet. Regular users still see the waiting screen as before. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-28feat(frontend): change brand color for PHPerKaigi 2026nsfisis
2026-02-27feat(worker): update PHP to 8.5.3nsfisis
2026-02-27feat(deploy): re-enable update-submodule workflownsfisis
2026-02-17test(frontend): add comprehensive tests for components, hooks, and statensfisis
Add 84 new tests covering Jotai atoms (play/watch state transitions, game timing, score management), utility functions (calcCodeSize, checkGameResultKind), UI components (SubmitStatusLabel, LeftTime, SubmitButton, InputText, BorderedContainerWithCaption, FoldableBorderedContainerWithCaption, UserIcon, PlayerNameAndIcon), and the usePageTitle hook. Co-Authored-By: Claude Opus 4.6 <noreply@anthropic.com>
2026-02-16test(frontend): add Vitest test infrastructure and sample testsnsfisis
Set up Vitest with @testing-library/react and jsdom for frontend unit testing. Add sample tests for config.ts and BorderedContainer. 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>
2025-09-17feat(backend,frontend): implement tournament pagensfisis
2025-09-17feat(frontend): apply effect for high scorensfisis
2025-09-17feat(frontend): do not show copy button if code is emptynsfisis
2025-09-16feat(frontend): add copy button to code blocknsfisis
2025-09-06fix(frontend): environment notice for swiftnsfisis
2025-09-06fix(*): support compile_error as worker resultnsfisis
2025-09-05feat(frontend): support swift languagensfisis
2025-08-17feat: update "PHPerKaigi" to "iOSDC Japan"nsfisis
2025-08-14feat(backend,frontend): Replace hard-coded base path with environment variablensfisis
2025-03-31fix(frontend): make ranking table scrollablensfisis
2025-03-29feat: show code in ranking pagensfisis
2025-03-21fixnsfisis
2025-03-21wipnsfisis
2025-03-21fix(frontend): refresh jwt if expirednsfisis
2025-03-21feat(frontend): do not transit to finished pagensfisis
2025-03-21fix(frontend): fix submission status flickeringnsfisis
2025-03-21feat(frontend): support mobile layoutnsfisis
2025-03-21feat(frontend): make main players optionalnsfisis
2025-03-21feat(frontend): show game result in 1v1 watchnsfisis
2025-03-21refactor(frontend): api clientnsfisis
2025-03-21feat(frontend): show ranking in 1v1 watch pagensfisis
2025-03-21feat(frontend): make container foldablensfisis
2025-03-20fix(frontend): fix state corruptionnsfisis
2025-03-20feat(frontend): tweak score barnsfisis
2025-03-20feat(frontend): improve watch page layoutnsfisis
2025-03-20fix(frontend): prevent flickeringnsfisis
2025-03-20feat(frontend): remove "player 1" or "player 2" labelsnsfisis
2025-03-20feat(frontend): improve navigate link stylensfisis
2025-03-20refactor(frontend): TwoColumnLayout/ThreeColumnLayoutnsfisis
2025-03-20fix(frontend): align player name and icon centernsfisis
2025-03-20feat: show submission date on rankingnsfisis
2025-03-18feat(frontend): update player noticensfisis
2025-03-16fix(frontend): fix code size calculationnsfisis
2025-03-16feat(frontend): current statusnsfisis
2025-03-16feat(frontend): add notice for playernsfisis
2025-03-16feat(frontend): show the current code sizensfisis