fix(frontend): 좁은 화면 면접 진입 안내 + 헤더 축소 방어 - #189
Merged
Merged
Conversation
UI/UX 점검. 면접 스테이지는 반응형 클래스가 `sm:bottom-28` **하나뿐**이고, `docs/ui-patterns.md §9` 에 규약만 있던 모바일 안내는 구현돼 있지 않았다. - `SmallScreenNotice` — 768px 미만 진입 시 1회성 안내(dismiss 는 localStorage 영속). 막지 않고 기대치만 맞춘다. 좁은 화면에서 요소가 겹칠 때 이유를 모르면 사용자는 제품이 고장난 줄 안다. 마운트 시점 폭만 보고 리사이즈에는 반응하지 않는다 — 한 번 안내하는 힌트이지 창을 줄일 때마다 끼어들 이유가 없다 - 헤더 우측 컨트롤 묶음에 `shrink-0` — 없으면 좁은 화면에서 버튼 글자가 눌려 읽히지 않는다 (모드 토글·연결 배지·기록·종료 4개가 축소 방어 없이 들어 있었다) - 연결 배지는 좁은 화면에서 숨긴다. `ConnectionBanner` 가 같은 내용을 이미 알리고 있어 좁은 폭에서 중복으로 자리만 차지했다 `hover:bg-info-100` 을 쓰려다 발견 — info 토큰은 50/500/700 만 있다. 없는 토큰은 조용히 무효가 되므로 있는 것으로 바꿨다. 테스트 `SmallScreenNotice.test.tsx` (3) — 좁은 화면 노출, 넓은 화면 미노출, 닫으면 재노출 안 함.
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
UI/UX 점검
면접 스테이지(
InterviewStage.tsx)의 반응형 클래스를 세어 보니sm:bottom-28하나뿐이었다. 그리고docs/ui-patterns.md §9에 이렇게 적혀 있는데:구현은 없었다. 좁은 화면 사용자는 요소가 겹치는 화면을 아무 설명 없이 만난다.
수정
SmallScreenNotice— 768px 미만 진입 시 1회성 안내. 진행을 막지 않고 기대치만 맞춘다. 좁은 화면에서 뭔가 어긋나 보일 때 이유를 모르면 사용자는 제품이 고장난 줄 안다.react-hooks/set-state-in-effect에도 걸린다헤더 축소 방어 — 우측에 모드 토글·연결 배지·기록·종료 4개가
shrink-0없이 들어 있었다. 좁은 화면에서 버튼 글자가 눌려 읽히지 않는다.연결 배지를 좁은 화면에서 숨김 —
ConnectionBanner가 이미 같은 내용을 알린다(연결 끊김 시 상단 배너). 좁은 폭에서 중복으로 자리만 차지했다.작업 중 발견
hover:bg-info-100을 쓰려다 알았는데 info 토큰은 50/500/700 만 있다(tokens.css). 없는 토큰은 Tailwind 가 조용히 무효 처리하므로 눈치채기 어렵다. 있는 것으로 바꿨다.테스트
SmallScreenNotice.test.tsx(3) — 좁은 화면 노출, 넓은 화면 미노출, 닫으면 재노출 안 함.vitest 121/121 · eslint 0 · tsc · build 통과.
한계 — 솔직히
렌더 결과를 눈으로 확인하지 못했다. 면접 화면은 로그인이 필요해 배포본에서 열어볼 수 없었고, 판단은 전부 클래스 분석 기반이다. 그래서 이번 변경은 보수적인 것만 담았다(안내 추가 + 축소 방어 + 중복 제거). 질문 카드·셀프뷰·컴포저의 실제 겹침 여부와 레이아웃 재설계는 실기기 확인 후에 하는 게 맞다.
특히 확인이 필요한 지점:
absolute bottom-24 right-4인데, 컴포저 높이가 96px 을 넘으면 겹친다(녹음 바·에러 문구가 붙을 때)영향 범위