Repository navigation
design(header): 헤더 검색창을 오른쪽 정렬하고 좁은 화면 경로를 바텀시트로 접는다 - #231
Merged
Merged
Conversation
검색창이 absolute 로 화면 중앙에 고정돼 있어 창을 좁히면 브레드크럼 위로 올라탔다. 중앙 고정은 브레드크럼 길이에 따라 검색창이 흔들리는 걸 막으려던 것인데, 오른쪽 그룹에 붙이면 같은 효과를 얻으면서 겹침은 구조적으로 불가능해진다. 그래서 absolute 를 지웠다. - 검색창을 ml-auto 로 Feedback·프로필 앞에 붙이고 사이에 구분선을 둔다 - 브레드크럼은 숨기지 않고 말줄임한다(레포 이름만 shrink-0 으로 유지) - 검색창도 같이 줄어든다 — shrink-0 이면 브레드크럼만 찌그러진다 - md 아래에서는 검색창이 돋보기 아이콘이 되고, 포커스하면 헤더 폭으로 펼쳐진다 - "/" 로 어디서든 검색창에 포커스, 플레이스홀더를 키캡 안내로 교체 Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
좁은 화면에서는 팀 / 조직 / 레포 세 단계를 나란히 놓을 자리가 없어 라벨이 전부 말줄임으로 뭉개졌다. Supabase 모바일 헤더처럼 경로를 버튼 하나로 접고, 누르면 바텀시트에서 탭으로 단계를 고르게 했다. - SwitcherList 를 header-switcher 에서 추출 — 데스크톱 팝오버와 시트가 같은 목록을 쓴다 - PathSheet 신규: Drawer(아래로 스와이프해 닫기) + Tabs 3개. 시트 높이는 h-[70dvh] 로 고정해 탭마다 들썩이지 않게 한다 - 창을 md 이상으로 넓히면 시트를 닫는다 (트리거가 md:hidden 이라 시트만 떠 있게 된다) - app-header 가 경로를 levels 배열 한 벌로 만들어 브레드크럼과 시트가 공유한다. 팀도 시트의 한 탭이라 TeamSwitcher 대신 switchTeam 을 직접 쓴다 새 의존성 없음 — Drawer·Tabs 는 @base-ui/react 1.8.0 에 이미 있다. Co-Authored-By: Claude Opus 5 <noreply@anthropic.com>
|
The latest updates on your projects. Learn more about Vercel for GitHub.
|
This branch was successfully deployed
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.
무엇을 구현했나
최상단 헤더에서 창을 좁히면 왼쪽 경로(브레드크럼) 위로 검색창이 올라타 겹치던 문제를 고쳤다.
원인 — 검색창이
absolute inset-x-0 justify-center로 화면 중앙에 고정돼 있고 브레드크럼은shrink-0이라, 둘 다 상대방의 폭을 모른 채 같은 자리를 차지했다. 중앙 고정은 "브레드크럼 길이에 따라 검색창이 흔들리는 것"을 막으려던 것인데, 오른쪽 그룹에 붙이면 같은 효과를 얻으면서 겹침은 구조적으로 불가능해진다. 그래서absolute를 지웠다.1. 검색창을 오른쪽 정렬 (
ddcefd0)ml-auto로 Feedback · 프로필 앞에 붙이고 사이에 구분선을 둔다.max-w는 556 → 320px (556은 중앙 배치라 성립했던 폭)shrink-0으로 온전히 남는다md:min-w-40).shrink-0이면 줄어드는 압력을 브레드크럼이 혼자 다 받아 라벨이 말줄임을 건너뛰고 0까지 찌그러진다md아래에서는 검색창이 돋보기 아이콘(28px)이 되고, 포커스하면 헤더 폭 전체로 펼쳐진다. 기존open상태를 그대로 써서 모달 · 포커스 트랩이 필요 없다/로 어디서든 검색창에 포커스. 플레이스홀더를Type [/] to search안내로 교체 (placeholder속성은 마크업을 못 담아 겹쳐 그림)2. 좁은 화면 경로를 바텀시트로 (
6a04eb0)좁은 화면에서는 팀 / 조직 / 레포 세 단계를 나란히 놓을 자리가 없어 라벨이 전부 뭉개진다. Supabase 모바일 헤더처럼 경로를 버튼 하나로 접었다.
SwitcherList를header-switcher에서 추출 — 데스크톱 팝오버와 모바일 시트가 같은 목록을 쓴다PathSheet신규:Drawer(아래로 스와이프해 닫기) +Tabs3개. 트리거는 2줄 버튼(조직 / 레포)h-[70dvh]고정 —max-h로 두면 탭마다 항목 수가 달라 시트가 들썩인다md이상으로 넓히면 시트를 닫는다 (트리거가md:hidden이라 시트만 떠 있게 된다)app-header가 경로를levels배열 한 벌로 만들어 브레드크럼과 시트가 공유한다참고사항
Drawer·Tabs는@base-ui/react@1.8.0에 이미 들어있다app-header가TeamSwitcher대신switchTeam을 직접 쓴다 — 팀도 시트의 한 탭이어야 해서 세 단계를 같은 모양(PathLevel)으로 맞췄다.TeamSwitcher는/projects· 팀 설정 헤더에서 계속 쓰인다header-switcher.tsx의 라벨min-w-[4ch]는 말줄임이 보일 최소 자리다. 이게 없으면 flex 가 0 까지 줄여 라벨이 그냥 사라진다47px이 레이아웃 · 사이드바 · 본문 높이 계산에 10곳 넘게 상수로 박혀 있어(h-[calc(100svh-47px)]) 전부 CSS 변수로 바꿔야 한다체크리스트
pnpm lint && pnpm typecheck통과 —pnpm build는 DB 에 붙어서 로컬 실행 대신 CI 로 확인🤖 Generated with Claude Code