Skip to content

chore(web): shadcn/ui 기반 공통 UI 구성 #15

Description

@ehlung

목표

관리자 웹 화면 구현에 필요한 shadcn/ui 기반 공통 UI 컴포넌트와 유틸을 구성한다.

배경 / 필요성

관리자 웹은 Tailwind CSS 4 + shadcn/ui 기준으로 화면을 구현한다. 인증, 조직 관리 등 후속 화면에서 Button, Input, Select, Slider, Dialog 같은 기본 컴포넌트를 반복 사용하므로 먼저 공통 UI 레이어를 정리해야 한다.

작업 범위

  • shadcn/ui 스타일의 공통 컴포넌트 디렉터리 구성
  • Button, Input, Label, Card, Badge, Separator 컴포넌트 추가
  • Checkbox, Select, Slider, AlertDialog 등 Radix 기반 컴포넌트 추가
  • cn 유틸 추가
  • Tailwind v4 토큰과 shadcn CSS 변수 연동 확인
  • CSS import 타입 선언 등 웹 개발 환경 보완
  • 필요한 웹 의존성 추가

완료 조건 (Acceptance Criteria)

  • apps/web/src/components/ui/에서 공통 UI 컴포넌트를 import할 수 있다.
  • 공통 컴포넌트가 apps/web/src/app/globals.css의 디자인 토큰을 사용한다.
  • 버튼 hover, disabled, focus-visible 상태가 웹 UI 기준에 맞게 동작한다.
  • Dialog, Select, Checkbox, Slider는 직접 구현하지 않고 Radix 기반 컴포넌트를 사용한다.
  • pnpm --filter @ilgam/web typecheck가 통과한다.
  • pnpm --filter @ilgam/web lint가 통과한다.

제안하는 구현 방식

  • shadcn/ui 소스 복사 방식을 따른다.
  • 컴포넌트 내부 스타일은 Tailwind 유틸리티와 CSS 변수 토큰을 사용한다.
  • 공통 유틸은 apps/web/src/lib/utils.ts에 둔다.
  • 기능 도메인 전용 UI는 이 이슈에 포함하지 않고 각 feature 이슈에서 작성한다.

관련 이슈

Related to #12

Metadata

Metadata

Assignees

No one assigned

    Labels

    feature신규 기능 구현 이슈

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions