Commit Graph

22 Commits

Author SHA1 Message Date
Michess
aeb5fe313e feat: add time controls, correspondence games, and tournament mode
**Zeitmodi (Blitz/Rapid):**
- 5, 10, 30 Min Zeitkontrolle bei Spielerstellung
- Server-seitige Uhren: Zeit wird bei jedem Zug abgezogen
- Timeout-Erkennung via claimTimeout Socket-Event
- Schachuhr-Anzeige in GamePage (rot bei < 30s)
- Turnierspiele erhalten automatisch Zeitkontrolle

**Tagespartien (Correspondence):**
- Neue DB-Tabelle correspondence_game
- REST API: erstellen, beitreten, Zug machen, aufgeben
- Seite /correspondence: Liste aktiver Tagespartien
- Seite /correspondence/[code]: Spielen mit interaktivem Brett
- Einladungslink teilen, Gegner tritt via Link bei

**Turniermodus (Round-Robin):**
- Neue DB-Tabellen: tournament, tournament_player, tournament_round
- Round-Robin Paarungen mit Circle-Methode
- Turnier erstellen: /tournament/create
- Turnierliste: /tournament
- Turnierseite /tournament/[code]: Standings, Runden, Spiele
- Automatische Aktivisierung der nächsten Runde
- Turnierspiele werden als normale activeGames erstellt
- Ergebnisse aktualisieren Punkte automatisch

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 09:44:35 +02:00
Michess
09e5271dfb feat: redesign homepage layout and fix invite links
- Homepage: Grid-Layout mit 3 Karten (Spiel erstellen, KI, Freunde/Beitreten)
  statt vertikalem Stack mit Dividers
- CreateGame: kompakteres Styling, auf Deutsch, in Primary-Card integriert
- Einladungslink: APP_URL statt hardcoded ches.su in GamePage und CopyLink
- JoinGame: URL-Parsing für beliebige Domains (nicht nur ches.su)

Co-Authored-By: Claude Sonnet 4.6 <noreply@anthropic.com>
2026-04-14 07:49:59 +02:00
Michess
157fcf8fa4 fix: RefreshButton handle async onRefresh outside startTransition 2026-04-13 14:01:38 +02:00
Michess
39592bd579 fix: convert PublicGames to client component to avoid async server component in client tree 2026-04-13 13:45:43 +02:00
Nathaniel Tampus
da7b4c40a3 organize imports 2023-05-01 15:15:49 +08:00
Nathaniel Tampus
a2bae7201d rename "get" util functions to "fetch" 2023-04-07 12:09:10 +08:00
Nathaniel Tampus
8d7ad6161f colored & linked name for registered users 2023-04-05 23:37:07 +08:00
Nathaniel Tampus
c7f3abf29c util functions for fetching archived games 2023-04-02 12:36:48 +08:00
Nathaniel Tampus
4af8dc6d13 square button for refresh public games 2023-03-25 11:13:06 +08:00
Nathaniel Tampus
626fc9afca use normal button size for join 2023-03-22 15:50:04 +08:00
Nathaniel Tampus
3981ac4dc3 Merge branch 'main' into auth 2023-03-22 15:43:11 +08:00
Nathaniel Tampus
3a059d8874 fix for joining links with no http/https 2023-03-22 15:40:10 +08:00
Nathaniel Tampus
e03052b00e fix join game from url 2023-03-22 14:58:42 +08:00
Nathaniel Tampus
30977baa5b fix join game from url 2023-03-22 14:57:40 +08:00
Nathaniel Tampus
4c18beeb3b accessibility & seo improvements 2023-03-20 18:41:24 +08:00
Nathaniel Tampus
faaa43ea5b check session before enabling join/create buttons 2023-03-15 20:05:36 +08:00
Nathaniel Tampus
3821c4b43a update game url to use game code directly 2023-03-15 19:54:15 +08:00
Nathaniel Tampus
72a80fe8bf remove home route background 2023-03-06 10:42:29 +08:00
Nathaniel Tampus
a30331ccb1 public games list functionality 2023-03-05 22:06:59 +08:00
Nathaniel Tampus
fa94df1d06 show error tooltip when game not found 2023-03-05 21:30:30 +08:00
Nathaniel Tampus
b7ee6f4371 rename to getGame & improve error handling 2023-03-05 00:33:44 +08:00
Nathaniel Tampus
dd0a097a48 initial find & create game functionality
and restructure homepage components
2023-03-04 18:43:32 +08:00