diff --git a/apps/client/src/index.css b/apps/client/src/index.css index 4e690a0..7aa4ad3 100644 --- a/apps/client/src/index.css +++ b/apps/client/src/index.css @@ -27,13 +27,6 @@ touch-action: none; } -#app { - /* safe-area-inset対応:ノッチ・ホームバー領域へのはみ出しを防止 */ - padding-top: env(safe-area-inset-top); - padding-bottom: env(safe-area-inset-bottom); - padding-left: env(safe-area-inset-left); - padding-right: env(safe-area-inset-right); -} a { font-weight: 500; diff --git a/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts b/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts index 38b7d25..902bd69 100644 --- a/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts +++ b/apps/client/src/scenes/game/input/bomb/presentation/BombButton.styles.ts @@ -4,6 +4,7 @@ * 固定スタイルと動的スタイル生成関数を提供する */ import type { CSSProperties } from "react"; +import { safeBottom, safeRight } from "@client/styles/safeArea"; /** 爆弾ボタン外枠の固定スタイル */ export const BOMB_BUTTON_FRAME_STYLE: CSSProperties = { @@ -19,8 +20,8 @@ /** 爆弾ボタン入力領域の固定スタイル */ export const BOMB_BUTTON_HIT_AREA_STYLE: CSSProperties = { position: "fixed", - right: "max(24px, calc(24px + env(safe-area-inset-right)))", - bottom: "max(28px, calc(28px + env(safe-area-inset-bottom)))", + right: safeRight(24), + bottom: safeBottom(28), width: "120px", height: "120px", borderRadius: "50%", diff --git a/apps/client/src/scenes/game/styles/GameView.styles.ts b/apps/client/src/scenes/game/styles/GameView.styles.ts index 86a6b82..511ff1e 100644 --- a/apps/client/src/scenes/game/styles/GameView.styles.ts +++ b/apps/client/src/scenes/game/styles/GameView.styles.ts @@ -4,6 +4,7 @@ * 画面全体レイアウトとオーバーレイ表示の見た目を定義する */ import type { CSSProperties } from "react"; +import { safeLeft, safeRight } from "@client/styles/safeArea"; /** ゲーム画面全体のルートスタイル */ export const GAME_VIEW_ROOT_STYLE: CSSProperties = { @@ -36,7 +37,7 @@ export const GAME_VIEW_TOP_RIGHT_OVERLAY_STYLE: CSSProperties = { position: "absolute", top: "20px", - right: "max(16px, calc(16px + env(safe-area-inset-right)))", + right: safeRight(16), zIndex: 24, display: "flex", alignItems: "flex-start", @@ -76,7 +77,7 @@ export const GAME_VIEW_HP_GAUGE_STYLE: CSSProperties = { position: "absolute", top: "20px", - left: "max(16px, calc(16px + env(safe-area-inset-left)))", + left: safeLeft(16), zIndex: 12, color: "white", fontSize: "14px", diff --git a/apps/client/src/scenes/lobby/LobbyScene.tsx b/apps/client/src/scenes/lobby/LobbyScene.tsx index 65f2c5e..96b5d5f 100644 --- a/apps/client/src/scenes/lobby/LobbyScene.tsx +++ b/apps/client/src/scenes/lobby/LobbyScene.tsx @@ -4,6 +4,22 @@ import { config } from "@client/config"; import { OVERLAY_BUTTON_STYLE } from "@client/scenes/shared/styles/overlayStyles"; import { LobbyRuleModal } from "./components/LobbyRuleModal"; +import { + LOBBY_BACK_BUTTON_STYLE, + LOBBY_BACKGROUND_STYLE, + LOBBY_CONTAINER_STYLE, + LOBBY_CONTROLS_BLOCK_STYLE, + LOBBY_LABEL_STYLE, + LOBBY_LEFT_INNER_STYLE, + LOBBY_LEFT_PANEL_STYLE, + LOBBY_PLAYER_LIST_HEADER_STYLE, + LOBBY_PLAYER_LIST_ITEM_STYLE, + LOBBY_PLAYER_LIST_PANEL_STYLE, + LOBBY_SELECT_STYLE, + LOBBY_START_BUTTON_STYLE, + LOBBY_TITLE_STYLE, + LOBBY_WAITING_STYLE, +} from "./styles/LobbyScene.styles"; type Props = { room: domain.room.Room | null; @@ -95,11 +111,7 @@ return ( <> - {/* 🌟🌟 追加:背景のWebPアニメーション 🌟🌟 */} -
+ {/* 背景アニメーション */} +
-
+
-

+

ルーム: {room.roomId} (待機中)

{/* 左半分: スタートボタン or 待機メッセージ */} -
-
+
+
{isMeOwner ? ( -
-