Commit Graph

23 Commits

Author SHA1 Message Date
601048f0e4 matchId check in Board instead of TicTacToe.tsx 2025-11-29 02:52:34 +05:30
ebc6906bf6 - Introduced animated Board component with smooth mount transitions.
- Added hover scale, tap animations, and cell pop-in effects for moves.
- Implemented animated status transitions and winner pulse effect.
- Highlighted winning symbols with glow styling.
- Improved game feel with responsive and modern interaction feedback.
2025-11-29 02:48:10 +05:30
ca7ff9d38e moved logout to bottom instead of hogging matchmaking animation 2025-11-29 02:46:01 +05:30
8555675740 - Added isQueueing state to Player component to track matchmaking state.
- Implemented animated "Finding opponent…" UI with pulsing dots using Framer Motion.
- Added cancelQueue() to allow players to cancel matchmaking mid-search.
- Updated startQueue() to set queueing state immediately for instant feedback.
- Improved player experience by clearly showing matchmaking progress instead of silent waiting.
2025-11-29 02:44:54 +05:30
a9e2d50b16 - Rebuilt Player.tsx with full UI overhaul using Framer Motion animations.
- Added animated transitions between login, lobby, and match states.
- Improved layout, spacing, and visual styling for modern game feel.
- Added smooth auto-connect flow and integrated username lock-in behavior.
- Updated matchmaking and logout buttons with animated interactions.
- Integrated Leaderboard cleanly inside lobby panel.
2025-11-29 02:37:27 +05:30
d962d9c5eb - Created new Player.tsx component to handle username input, auto-connect, matchmaking, and logout.
- Moved all login, session UI, mode selection, and matchmaking logic from TicTacToe.tsx into Player.tsx.
- Added onMatchDataCallback prop support for Player component.
- Cleaned up TicTacToe.tsx by removing duplicated login/matchmaking UI and connect logic.
- Improved auto-connect on mount via Player.tsx.
v0.2.1
2025-11-29 02:29:31 +05:30
94bdec8cb4 - Added username persistence via localStorage with read-only input behavior.
- Added automatic connect() invocation on page load.
- Implemented robust login flow: register or auto-login based on local flags.
- Added logout support with clean WebSocket disconnect + state reset.
- Updated NakamaProvider with getSession(), autoLogin(), registerWithUsername().
- Connected logout button and integrated updated login behavior into UI.
2025-11-29 02:09:51 +05:30
f7929b10ef DRY 2025-11-29 01:49:30 +05:30
f341251812 bumped up to v0.2.0 v0.2.0 2025-11-28 19:44:24 +05:30
5fb3ad4205 feat(tictactoe): integrate leaderboard UI, provider API hook, and new styles
- Add *_BKP* ignore rule to .gitignore
- Insert Leaderboard component into TicTacToe screen
- Add getLeaderboardTop() API method to NakamaProvider and expose via context
- Add full leaderboard polling logic (interval-based) in new Leaderboard.tsx
- Style leaderboard in styles.css (rows, rank, name, score, empty state, card UI)
- Modernize TicTacToe UI styles (board, squares, buttons, layout)
- Replace matchmaking view with leaderboard integration
- Import ApiLeaderboardRecordList and ApiMatch types cleanly
2025-11-28 19:43:59 +05:30
33d917c8f2 bumped up tag to v0.1.1 v0.1.1 2025-11-28 17:01:57 +05:30
d129458039 - Added clear turn messaging for both players (Your Turn / Opponent's Turn).
- Fixed initial board state to avoid showing incorrect spectator/opponent status.
- Introduced players[] tracking in React state to correctly reflect match readiness.
- Updated Board component to derive turn text based on player index and session user ID.
- Ensured proper handling of initial match state broadcast from backend.
- Improved overall clarity of gameplay state for both clients on match start.
2025-11-28 16:56:34 +05:30
8284815337 feat(matchmaking): add automatic requeue on match rejection
- Detect Nakama error code 3 ("No match ID or token found") when a
  match is rejected due to incompatible match properties (e.g., mode mismatch).
- Preserve last selected game mode using a ref so client can requeue
  automatically without user interaction.
- Implement fallback logic to call joinMatchmaker() again after server
  rejection.
- Improve robustness of matchmaking flow by ensuring players remain
  in queue until a valid match is formed.
2025-11-28 16:40:28 +05:30
5b30ac8d83 commenting open matches 2025-11-28 16:08:33 +05:30
34e8984daa better login and matchmaking flow 2025-11-28 16:07:36 +05:30
cb3f5fb5cf open matches listing with available players 2025-11-28 15:51:55 +05:30
a4fc04ace3 matching tag with nakama backend plugin v0.1.0 2025-11-28 14:17:21 +05:30
632fa1104e inteface because pycharm doesn't like untyped function args 2025-11-28 14:08:30 +05:30
6179021ce7 useEffect for managing match udpate 2025-11-28 14:08:10 +05:30
9916939f29 matchmaking works 2025-11-28 13:41:35 +05:30
4d6511505a connection works 2025-11-27 17:16:07 +05:30
4565c4b33a added nakama provider using nakama package 2025-11-27 16:51:06 +05:30
c6c9d10476 init basic tictactoe game 2025-11-27 16:26:51 +05:30