디자이너 팔레트에서 배치 가능한 10번째 POP 컴포넌트로 pop-profile을 추가한다. 화면 설계자가 필요한 화면에만 프로필 기능을 배치할 수 있도록 시스템 UI가 아닌 컴포넌트 등록 방식으로 구현한다. [뷰어 컴포넌트] - useAuth() 연동으로 실제 로그인 사용자 정보 표시 - Popover 드롭다운: 사용자 정보 + POP 대시보드 / PC 모드 / 로그아웃 - 비로그인 시 로그인 버튼 표시 - 아바타: 사용자 사진 또는 이름 이니셜 표시 [설정 패널] - 아바타 크기 선택 (sm 32px / md 40px / lg 48px) - 메뉴 항목 개별 on/off (대시보드 이동 / PC 모드 전환 / 로그아웃) [디자이너 통합] - PopComponentType에 "pop-profile" 추가 - DEFAULT_COMPONENT_GRID_SIZE: 1x1 - PALETTE_ITEMS: UserCircle 아이콘 + 설명 - COMPONENT_TYPE_LABELS: "프로필" - PopComponentRegistry 등록 (category: action)
27 lines
668 B
TypeScript
27 lines
668 B
TypeScript
"use client";
|
|
|
|
/**
|
|
* POP 컴포넌트 자동 등록 진입점
|
|
*
|
|
* [역할]
|
|
* - 각 컴포넌트 파일을 import하면 해당 파일 끝의 registerComponent()가 실행되어 자동 등록됨
|
|
* - 예: import "./pop-text" → pop-text.tsx 실행 → PopComponentRegistry.registerComponent() 호출
|
|
*/
|
|
|
|
// 공통 타입 re-export (외부에서 필요 시 사용 가능)
|
|
export * from "./types";
|
|
|
|
// POP 컴포넌트 등록
|
|
import "./pop-text";
|
|
import "./pop-icon";
|
|
import "./pop-dashboard";
|
|
import "./pop-card-list";
|
|
|
|
import "./pop-button";
|
|
import "./pop-string-list";
|
|
import "./pop-search";
|
|
|
|
import "./pop-field";
|
|
import "./pop-scanner";
|
|
import "./pop-profile";
|