- 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>
- Next static export (output: export) wrapped by Capacitor; appId
com.bargevasat.app, appName «برگ وسط»
- android/ native project + @capacitor/app; hardware back handled by
CapacitorBack (back a screen, exit at home)
- npm scripts (cap:sync, android:open, android:apk), ANDROID.md
- Gradle Maven-mirror init-script template (dl.google.com/Maven Central are
blocked in Iran — same reason NuGet is mirrored)
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
- ui-store syncs screens to history (push on go/goGame, hash URLs like #/profile),
back() = history.back(), initHistory anchors a home base + restores deep links
- page.tsx listens to popstate; resolveScreen() guards transient screens
(game/room/chat/matchmaking fall back to home when their state is gone)
- ScreenHeader + ChatScreen back buttons use history back; chat cleans up on unmount
Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>