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