6 Commits

Author SHA1 Message Date
soroush.asadi 97d3a02a3c feat: new "card fan" app icon — web favicon/PWA + Android adaptive
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 41s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m15s
CI/CD / Deploy - local stack (db + server + web) (push) Successful in 1m6s
- Master SVGs + generator in scripts/icon/ (icon.svg full design, icon-foreground.svg
  cards-only for the Android adaptive layer, gen-icons.mjs via sharp).
- Web/PWA: regenerated favicon.ico (16/32/48), src/app/apple-icon.png, public/icon.svg,
  icon-192/512, icon-maskable-512; manifest now lists png + maskable icons.
- Android (Capacitor): ic_launcher / ic_launcher_round / ic_launcher_foreground for all
  densities + ic_launcher-playstore 512; adaptive background switched from flat white
  to a navy radial-gradient drawable (matches the icon), foreground = the gold card fan.

Design: navy field, gold rounded frame, three fanned cards with a gold spade —
on-brand with the in-app "Persian luxury" look.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-15 04:30:34 +03:30
soroush.asadi 6c431fee3e portrait: lock orientation + portrait-optimized felt table
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 38s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m9s
CI/CD / Deploy - local stack (db + server + web) (push) Successful in 57s
- Lock the app to portrait: AndroidManifest screenOrientation="portrait" and PWA
  manifest orientation "portrait".
- GameTable felt now occupies the middle band (between top HUD and the hand) with
  portrait proportions (w<=560, tall) so the you/partner/opponents diamond fits a
  tall screen comfortably instead of a wide landscape ellipse.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-12 07:51:04 +03:30
soroush.asadi 857287fa84 mobile: fullscreen (immersive Android + PWA) + auto-hide reported nudity avatars
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 23s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m11s
CI/CD / Deploy - local stack (db + server + web) (push) Successful in 1m3s
Fullscreen on mobile:
- Android (Capacitor): MainActivity now runs edge-to-edge and hides the status +
  navigation bars (immersive, transient-on-swipe), re-asserted on focus.
- PWA: manifest display -> "fullscreen" with display_override fallback chain;
  viewport gains viewport-fit: cover for proper safe-area/edge-to-edge handling.

Moderation auto-hide:
- ProfileService.ReportUser now de-dupes nudity reports per reporter and, once
  NudityHideThreshold (3) distinct players flag a target's avatar as nudity,
  auto-removes their custom photo (reverts to default avatar). Counted from the
  ledger, so still no schema change.

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-11 19:32:49 +03:30
soroush.asadi d04605d118 Brand the app as «برگ وسط» / Barg-e Vasat
- Name + tagline («بازی حکم آنلاین») across i18n (app.title/subtitle),
  layout metadata, PWA manifest, app icon, package name, server health
- Gameplay term «حکم» unchanged; repo/folder stay hokm/HokmPlay

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
2026-06-04 14:01:14 +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
soroush.asadi dff1a34f95 Initial commit from Create Next App 2026-06-04 06:09:11 +03:30