Game: landscape-first table with rotate-phone prompt + orientation lock
CI/CD / CI - API (dotnet build + engine sim) (push) Successful in 1m14s
CI/CD / CI - Web (tsc + next build) (push) Successful in 1m9s
CI/CD / Deploy - local stack (db + server + web) (push) Successful in 59s

Hokm plays best wide (UNO-style). On phones held in portrait, the game screen
shows a "rotate your phone" overlay (with a play-anyway escape hatch so OS
rotation-lock can't trap anyone). Best-effort screen.orientation.lock('landscape')
on Android/PWA; iOS/desktop reject it harmlessly. i18n rotate.* (fa+en).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
This commit is contained in:
soroush.asadi
2026-06-10 23:53:21 +03:30
parent c1ecdff729
commit e8b3172197
3 changed files with 82 additions and 0 deletions
+6
View File
@@ -327,6 +327,9 @@ const fa: Dict = {
"settings.audio": "تنظیمات صدا",
"settings.sound": "افکت صدا",
"settings.music": "موسیقی پس‌زمینه",
"rotate.title": "گوشی را بچرخانید",
"rotate.desc": "برای تجربهٔ بهترِ میز بازی، گوشی را افقی (چرخانده) نگه دارید.",
"rotate.anyway": "همین‌طور عمودی بازی می‌کنم",
"settings.musicStyle": "سبک موسیقی",
"settings.trackSantoor": "سنتی (سنتور)",
"settings.trackPlayful": "شاد",
@@ -663,6 +666,9 @@ const en: Dict = {
"settings.audio": "Audio",
"settings.sound": "Sound effects",
"settings.music": "Background music",
"rotate.title": "Rotate your phone",
"rotate.desc": "The table plays best in landscape — turn your phone sideways for the full experience.",
"rotate.anyway": "Keep playing in portrait",
"settings.musicStyle": "Music style",
"settings.trackSantoor": "Traditional (Santoor)",
"settings.trackPlayful": "Playful",