soroush.asadi
03dfbe1e67
Match intro "players joining" loading screen + i18n fix; checkpoint
...
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 7m38s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m9s
CI/CD / Deploy - local stack (db + server + web) (push) Failing after 1s
- MatchIntroOverlay: UNO-style pre-game reveal — the 4 seats animate into the
table (with "?" placeholders until each player's data streams in for live
matches), a 3-2-1-GO countdown, then the table shows. Wired via game-store
matchIntroPending/consumeIntro, rendered online-only in GameScreen.
- Fix: intro.found / intro.getReady / intro.go existed only in the Persian dict;
added the English strings (would have shown raw keys to EN users).
- Checkpoint of the in-progress UI/social batch (CoinsPill, shop titles section,
friend-request rate limit, etc.) — all green.
Verified: tsc + next build + scripts/sim.ts + dotnet build server/Hokm.slnx all pass.
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-06 21:58:54 +03:30
soroush.asadi
cb27a16dc1
feat: UNO-style table, social hub, cosmetics, speed mode, store IAB
...
Game table & play
- UNO-style restyle: suit-aware bolder cards (+xl size), pulsing playable glow,
big "YOUR TURN" pill, active-seat ring, trick-win particle burst, round
confetti, match coin-rain.
- Per-league turn time via turnMsForStake: 15s starter/AI, 10s pro, 7s expert;
mirrored server-side in GameRoom.TurnMs.
- Speed (Blitz) mode for vs-AI/private: 5s turns, race to 5, ~halved pacing.
- Matchmaking waits ~15s (randomized 12-18s) then fills bots; elapsed timer + hint.
Rewards / gifts
- Richer post-match modal (floating coins, XP bar), celebration overlay reveals
the unlocked sticker pack, boosted daily rewards (client+server synced),
themed 7-day daily with special day-7.
Social
- Public profile modal (identity, stats, achievement board) from leaderboard /
friends / discover / end-of-game roster; rate-limited add-friend (10/hour).
- Social hub: Friends / Discover (player search + suggestions) / Messages inbox.
- Profile gender (shown in finder/profile) + social links with public/friends/
hidden visibility, enforced server-side.
Cosmetics
- Distinct card backs: per-design pattern families (stripes/argyle/grid/dots/
rays/scales/crosshatch/royal/filigree/gem) + luxury motifs (lib/cardBack.ts),
consistent on table/shop/profile; +Peacock/Rose-Gold backs.
- Purchasable titles (shop Titles section); title shown under the seat on the
table and in discover/public profile.
- 10 new sticker packs (banter/kol-kol, Persian trends, court cards, moods).
- Persistent level+XP bar on Home and every inner screen.
Payments
- Buy-coins gateway opens in a new tab (no SPA dead-end) + focus refresh.
- Store IAB scaffolding: Cafe Bazaar deep-link purchase + redirect-token capture,
Myket native-bridge contract, server-side IabService.Verify for both stores,
config-driven via Iab__* env. POST /api/coins/iab/verify (JWT).
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-06 18:39:24 +03:30
soroush.asadi
cdb8d522dd
Economy: free vs paid games + buy-coins page; friends remove confirmation
...
- Coins only matter for ranked: free games (vs computer / private friend rooms)
cost nothing; random ranked requires an entry (stake), gated by balance →
routes to buy-coins when short
- Buy Coins page (CoinPack/getCoinPacks/buyCoins; mock credits now, real
Zarinpal/IDPay TODO); TopBar coins → buy; lobby create-room is Free
- Friends: removed instant red ✕ delete; UserMinus → inline confirm before remove
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 16:28:59 +03:30
soroush.asadi
2d2352dfe8
Add in-app + real-time notifications (SignalR/mock, Iran-friendly)
...
- AppNotification + OnlineService.onNotification (hub event + mock periodic) —
no FCM/APNs (blocked in Iran); uses the existing realtime channel
- notification-store + pushNotification(); 🔔 bell with unread badge in TopBar,
notifications screen, global toaster (plays notify sfx)
- Wired events: daily reward, post-match achievements, friend requests
- Closed-app push (Pushe/Najva/Chabok) noted as a later step (needs provider keys)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 15:52:06 +03:30
soroush.asadi
13ec0d4300
Turn timer + auto-play, disconnect/reconnect, cosmetics, queue & paid plan
...
- Turn timer (20s) for play/trump; system auto-plays a smart move on timeout
- Disconnect handling (mock): wait-for-return countdown, system covers turns
- Cosmetics: titles, card-back styles, custom profile-image upload, badges;
pickers in Profile; shop sells card styles; reward modal shows new titles
- Paid plan (pro): free players queue when server busy, pro skips; upgrade flow
- OnlineService extended (upgradePlan, richer profile patch); mock implements
queue + plans; gamification adds TITLES + CARD_STYLES
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 10:49:54 +03:30
soroush.asadi
e2d0a602b6
Build Hokm card game: offline vs-AI + online social/gamification (mock backend)
...
- Pure-TS Hokm engine (deal, hakem, trump, tricks, scoring, Kot) + AI bots
- Persian-luxury RTL UI (Next 16 / React 19 / Tailwind v4 / Framer Motion / Zustand)
- Online platform behind OnlineService seam (mock now, .NET SignalR later):
auth (phone OTP + email/Google), profiles, friends, private rooms with
partner pick, ranked matchmaking, leaderboard, shop
- Gamification: ranks/leagues, coins, XP/levels, daily rewards, achievements
- i18n fa/en, PWA manifest, engine + gamification sims
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com >
2026-06-04 10:11:00 +03:30