From b21aec716f459ac60a12f8113364ac4dc1591fb3 Mon Sep 17 00:00:00 2001 From: EJClaw Date: Thu, 8 Oct 2026 11:43:26 +0900 Subject: [PATCH] =?UTF-8?q?=EB=A9=88=EC=B6=98=20=EA=B2=8C=EC=9E=84?= =?UTF-8?q?=EC=9D=98=20[=EA=B2=8C=EC=9E=84=20=EB=81=9D=EB=82=B4=EA=B8=B0]?= =?UTF-8?q?=EB=A5=BC=20=EB=B0=A9=20=EB=A7=89=EB=8C=80=EC=97=90=EC=84=9C=20?= =?UTF-8?q?=EC=83=81=ED=83=9C=20=EC=A4=84=20=EC=95=84=EB=9E=98=EB=A1=9C=20?= =?UTF-8?q?=EC=98=AE=EA=B9=80?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit 방장 + 멈춘 게임에서 막대 버튼이 7개가 되어 320px 휴대폰에서 넘쳤다. 막대는 최대 6개로 두고, 끝내기 버튼은 "오류로 게임이 멈췄어요" 안내 바로 아래에 둔다. 도움말의 "메뉴에서" 문구도 고침. Co-Authored-By: Claude Opus 5.5 --- apps/web/src/components/GameHelp.tsx | 2 +- apps/web/src/pages/RoomPage.tsx | 23 ++++++++++++----------- docs/06-lobby-rooms.md | 3 ++- 3 files changed, 15 insertions(+), 13 deletions(-) diff --git a/apps/web/src/components/GameHelp.tsx b/apps/web/src/components/GameHelp.tsx index a12be60..eeac4d9 100644 --- a/apps/web/src/components/GameHelp.tsx +++ b/apps/web/src/components/GameHelp.tsx @@ -111,7 +111,7 @@ export function GameHelp({ room, ui, title, me, players }: { room: RoomView; ui: const seated = room.seats.some((s) => s?.user.id === me); const now = room.status === 'paused' - ? '오류로 게임이 멈췄어요. 방장이 메뉴에서 게임을 끝낼 수 있어요.' + ? '오류로 게임이 멈췄어요. 방장이 [게임 끝내기] 버튼으로 끝낼 수 있어요.' : view === undefined ? '' : (ui.helpNow ?? ui.statusText)(view, me, players); diff --git a/apps/web/src/pages/RoomPage.tsx b/apps/web/src/pages/RoomPage.tsx index 6e939d7..8b2661b 100644 --- a/apps/web/src/pages/RoomPage.tsx +++ b/apps/web/src/pages/RoomPage.tsx @@ -141,7 +141,6 @@ function Room({ code, me }: { code: string; me: PublicUser }) { const inGame = room.status === 'playing' || room.status === 'paused' || (room.status === 'finished' && !!game); // Games with their own chat channels (마피아) close the room chat while playing (the server refuses it too). const roomChatClosed = !!ui.ownChat && (room.status === 'playing' || room.status === 'paused'); - const isHost = room.hostId === me.id; const doLeave = () => { socket.leave(); nav('/'); @@ -201,12 +200,6 @@ function Room({ code, me }: { code: string; me: PublicUser }) { ⚙️ 설정 - {isHost && room.status === 'paused' && ( - - )} + )} + ); return (
diff --git a/docs/06-lobby-rooms.md b/docs/06-lobby-rooms.md index 21c742b..6b14ce3 100644 --- a/docs/06-lobby-rooms.md +++ b/docs/06-lobby-rooms.md @@ -57,7 +57,8 @@ ## 8. 게임 중 - 위쪽 상태 줄: 지금 할 일 문장("내 차례예요" / "OO님 차례예요"), 남은 시간 링. -- 방 막대(메뉴 버튼 없이 모두 밖에): [← 홈] 게임 이름(PC) · [🔗 방 코드 링크 복사] · [💬 채팅](휴대폰) · [📖 규칙] · [⚙️ 설정](글자 크기·소리, `/me`) · [⏹ 게임 끝내기](방장, 오류로 멈춘 게임만) · **[🚪 나가기]**. 휴대폰에서는 아이콘 아래 짧은 글자로 쌓아 한 줄(320px)에 들어가게 한다. +- 방 막대(메뉴 버튼 없이 모두 밖에): [← 홈] 게임 이름(PC) · [🔗 방 코드 링크 복사] · [💬 채팅](휴대폰) · [📖 규칙] · [⚙️ 설정](글자 크기·소리, `/me`) · **[🚪 나가기]**. 휴대폰에서는 아이콘 아래 짧은 글자로 쌓아 한 줄(320px)에 들어가게 한다(버튼은 최대 6개). +- 오류로 게임이 멈추면 방장에게만 상태 줄 바로 아래 [⏹ 게임 끝내기(무효)] 버튼이 나온다. - [🚪 나가기]와 [← 홈]은 같은 동작이다: 방에서 나가고 홈으로. 한 번 누르면 바로 나가고, 게임 중에 자리에 앉아 있을 때만 "게임 중에 나가면 기권으로 처리돼요" 확인을 한 번 더 묻는다. - 무르기 요청·무승부 제안·기권은 게임 화면 안의 버튼으로 한다(지원 게임). - 관전자는 [자리 나면 참가] 대기 가능(다음 판부터).