diff --git a/apps/client/src/scenes/game/GameView.tsx b/apps/client/src/scenes/game/GameView.tsx
index a86760a..af7abe9 100644
--- a/apps/client/src/scenes/game/GameView.tsx
+++ b/apps/client/src/scenes/game/GameView.tsx
@@ -26,9 +26,36 @@
onPlaceBomb: () => boolean;
};
-const TimerOverlay = ({ timeLeft }: { timeLeft: string }) => (
-
{timeLeft}
-);
+const parseRemainingSeconds = (timeLeft: string): number => {
+ const [minutesText, secondsText] = timeLeft.split(":");
+ const minutes = Number(minutesText);
+ const seconds = Number(secondsText);
+
+ if (!Number.isFinite(minutes) || !Number.isFinite(seconds)) {
+ return Number.POSITIVE_INFINITY;
+ }
+
+ return minutes * 60 + seconds;
+};
+
+const TimerOverlay = ({ timeLeft }: { timeLeft: string }) => {
+ const remainingSeconds = parseRemainingSeconds(timeLeft);
+
+ return (
+
+ {timeLeft}
+
+ );
+};
const TeamPaintRateOverlay = ({
teamPaintRates,
@@ -69,6 +96,7 @@
}: Props) => {
return (
+
{/* タイマーUIの表示 */}
diff --git a/packages/shared/src/config/gameConfig.ts b/packages/shared/src/config/gameConfig.ts
index 4522680..5db3ee4 100644
--- a/packages/shared/src/config/gameConfig.ts
+++ b/packages/shared/src/config/gameConfig.ts
@@ -6,7 +6,7 @@
/** ゲーム全体で利用する共有設定値 */
export const GAME_CONFIG = {
// ゲーム進行設定(クライアント/サーバー契約)
- GAME_DURATION_SEC: 30, // 1ゲームの制限時間(3分 = 180秒)
+ GAME_DURATION_SEC: 60, // 1ゲームの制限時間(3分 = 180秒)
GAME_START_DELAY_MS: 5000, // 開始通知から実際にゲーム進行を開始するまでの待機時間(ms)
// ネットワーク同期設定(クライアント/サーバー契約)