UNPKG

@restnfeel/agentc-starter-kit

Version:

한국어 기업용 CMS 모듈 - Task Master AI와 함께 빠르게 웹사이트를 구현할 수 있는 재사용 가능한 컴포넌트 시스템

172 lines (163 loc) 3.7 kB
/** * Admin Dashboard Module * Main export file for the CMS admin interface */ // Types export * from "./types"; // Context and Hooks export { default as AdminLayoutProvider, useAdminLayout } from "./context"; // Components export { AdminLayout, Sidebar, Header, ContentArea, NavigationMenu, BreadcrumbNavigation, UserMenu, NotificationsPanel, SearchBar, } from "./components"; // Default configuration and navigation setup import { NavigationGroup, UserMenuConfig, DEFAULT_LAYOUT_CONFIG, } from "./types"; // Default navigation configuration for CMS export const DEFAULT_CMS_NAVIGATION: NavigationGroup[] = [ { id: "main", label: "주요 메뉴", items: [ { id: "dashboard", label: "대시보드", icon: "dashboard", href: "/admin", isActive: true, }, { id: "sites", label: "사이트 관리", icon: "sites", href: "/admin/sites", children: [ { id: "sites-list", label: "사이트 목록", icon: "sites", href: "/admin/sites", }, { id: "sites-create", label: "새 사이트", icon: "sites", href: "/admin/sites/create", }, ], }, { id: "content", label: "콘텐츠 관리", icon: "templates", href: "/admin/content", children: [ { id: "sections", label: "섹션 관리", icon: "templates", href: "/admin/sections", }, { id: "templates", label: "템플릿 관리", icon: "templates", href: "/admin/templates", }, ], }, ], }, { id: "management", label: "관리", items: [ { id: "users", label: "사용자 관리", icon: "users", href: "/admin/users", permissions: ["USER_READ"], }, { id: "analytics", label: "분석", icon: "analytics", href: "/admin/analytics", permissions: ["ANALYTICS_READ"], }, { id: "settings", label: "설정", icon: "settings", href: "/admin/settings", permissions: ["SYSTEM_SETTINGS"], }, ], }, ]; // Default user menu configuration export const DEFAULT_USER_MENU: UserMenuConfig = { showProfile: true, showSettings: true, showLogout: true, items: [ { id: "profile", label: "프로필", icon: "profile", href: "/admin/profile", }, { id: "settings", label: "계정 설정", icon: "settings", href: "/admin/account", }, { id: "divider", label: "", icon: "", isDivider: true, }, { id: "logout", label: "로그아웃", icon: "logout", onClick: () => { // This should be implemented by the consuming application console.log("Logout clicked - implement signOut logic"); }, }, ], }; // Utility function to initialize admin with default configuration export function createAdminConfig(overrides?: { navigation?: NavigationGroup[]; userMenu?: UserMenuConfig; }) { return { layout: DEFAULT_LAYOUT_CONFIG, navigation: overrides?.navigation || DEFAULT_CMS_NAVIGATION, userMenu: overrides?.userMenu || DEFAULT_USER_MENU, }; } // Hook to get default configurations export function useDefaultAdminConfig() { return { navigation: DEFAULT_CMS_NAVIGATION, userMenu: DEFAULT_USER_MENU, layout: DEFAULT_LAYOUT_CONFIG, }; }