Skip to content

feat(data-ui): data domain local nav as left LNB sidebar (shell parity)#944

Open
seonghobae wants to merge 1 commit into
developfrom
feat/data-layout-left-lnb
Open

feat(data-ui): data domain local nav as left LNB sidebar (shell parity)#944
seonghobae wants to merge 1 commit into
developfrom
feat/data-layout-left-lnb

Conversation

@seonghobae

Copy link
Copy Markdown
Contributor

Why

Canonical Naruon shell (docs/ui-ux/naruon-ui-ux-mapping.md §4.1 + mockup_04/mockup_19) = top GNB (global) + left LOCAL LNB (current domain's folders/areas) + work area + evidence panel. DataLayout rendered its local areas (문서 저장소/수집 파이프라인/임베딩/품질 점검) as a horizontal top-tab strip, diverging from the designed left sidebar.

What

  • Desktop (lg+): left <nav aria-label="데이터 로컬 탐색"> sidebar — domain title + four areas as vertical nav buttons (aria-current active), per mockup_04.
  • Mobile (<lg): LNB collapses to the existing horizontal tab strip — small screens unchanged.
  • Areas hoisted to one DATA_TABS const; activeTab typed from it.

Verification (local)

  • src/app/data/page.test.tsx: passed (tab-switch finds first matching button = the LNB button → still drives setActiveTab).
  • tsc clean, eslint clean.
  • Runtime capture (1440px): GNB + left LNB (데이터와 파일: 문서 저장소[active]/수집 파이프라인/임베딩/품질 점검) + content. ✅

Scope

First per-domain LNB conversion. Mail / Security / Settings / AI Hub / Projects / Tasks follow the same pattern (Calendar already has a left sidebar). Figma canonical shell reflected on the design file (Workspace Shell, node 84:91).

🤖 Generated with Claude Code

The canonical shell (docs/ui-ux/naruon-ui-ux-mapping.md §4.1, mockup_04/19) is
top GNB (global) + left LOCAL LNB (current domain's areas) + work area. Data
rendered its local areas (문서 저장소/수집 파이프라인/임베딩/품질 점검) as a
horizontal top-tab strip instead of the designed left sidebar.

- Desktop (lg+): a left <nav aria-label='데이터 로컬 탐색'> sidebar with the
  domain title + the four areas as vertical nav buttons (aria-current active).
- Mobile (<lg): the LNB collapses to the existing horizontal tab strip, so
  small screens are unchanged.
- Areas hoisted to a single DATA_TABS const; activeTab typed from it.

Verified: data page tests pass, tsc + eslint clean, and a 1440px runtime
capture shows GNB + left LNB + content. First of the per-domain LNB
conversions (Calendar already has a left sidebar).

Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_017RkKdtHRLG4wSLh6PVsp8J
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

None yet

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant