import { useState } from 'react'; import { DesignHeader } from './DesignHeader'; import type { DesignTab } from './DesignHeader'; import { DesignSidebar } from './DesignSidebar'; import type { MenuItemId } from './DesignSidebar'; import { ComponentsContent } from './ComponentsContent'; import { ColorPaletteContent } from './ColorPaletteContent'; import { TypographyContent } from './TypographyContent'; import { RadiusContent } from './RadiusContent'; import { LayoutContent } from './LayoutContent'; import { getTheme } from './designTheme'; import type { ThemeMode } from './designTheme'; const FIRST_ITEM: Record = { foundations: 'color', components: 'buttons', }; export const DesignPage = () => { const [activeTab, setActiveTab] = useState('foundations'); const [themeMode, setThemeMode] = useState('dark'); const [sidebarItem, setSidebarItem] = useState('color'); const theme = getTheme(themeMode); const handleTabChange = (tab: DesignTab) => { setActiveTab(tab); setSidebarItem(FIRST_ITEM[tab]); }; const renderContent = () => { if (activeTab === 'foundations') { switch (sidebarItem) { case 'color': return ; case 'typography': return ; case 'radius': return ; case 'layout': return ; default: return ; } } return ; }; return (
setThemeMode(themeMode === 'dark' ? 'light' : 'dark')} />
{renderContent()}
); }; export default DesignPage;