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 FoundationsOverview from './FoundationsOverview'; import ComponentsOverview from './ComponentsOverview'; import { ButtonContent } from './ButtonContent'; import { TextFieldContent } from './TextFieldContent'; import { getTheme } from './designTheme'; import type { ThemeMode } from './designTheme'; const FIRST_ITEM: Record = { foundations: 'overview', components: 'overview', }; export const DesignPage = () => { const [activeTab, setActiveTab] = useState('foundations'); const [themeMode, setThemeMode] = useState('dark'); const [sidebarItem, setSidebarItem] = useState('overview'); const theme = getTheme(themeMode); const handleTabChange = (tab: DesignTab) => { setActiveTab(tab); setSidebarItem(FIRST_ITEM[tab]); }; const renderContent = () => { if (activeTab === 'foundations') { switch (sidebarItem) { case 'overview': return setSidebarItem(id as MenuItemId)} />; case 'color': return ; case 'typography': return ; case 'radius': return ; case 'layout': return ; default: return setSidebarItem(id as MenuItemId)} />; } } switch (sidebarItem) { case 'overview': return setSidebarItem(id as MenuItemId)} />; case 'buttons': return ; case 'text-field': return ; default: return ; } }; return (
setThemeMode(themeMode === 'dark' ? 'light' : 'dark')} />
{renderContent()}
); }; export default DesignPage;