import React, { useState } from 'react'; import classes from '@/features/settings/modal/modal.module.css'; import { IconBell, IconFingerprint, IconReceipt, IconSettingsCog, IconUser, IconUsers } from '@tabler/icons-react'; import { Loader, ScrollArea, Text } from '@mantine/core'; const AccountSettings = React.lazy(() => import('@/features/settings/account/settings/account-settings')); const WorkspaceSettings = React.lazy(() => import('@/features/settings/workspace/settings/workspace-settings')); const WorkspaceMembers = React.lazy(() => import('@/features/settings/workspace/members/workspace-members')); interface DataItem { label: string; icon: React.ElementType; } interface DataGroup { heading: string; items: DataItem[]; } const groupedData: DataGroup[] = [ { heading: 'Account', items: [ { label: 'Account', icon: IconUser }, { label: 'Notifications', icon: IconBell }, ], }, { heading: 'Workspace', items: [ { label: 'General', icon: IconSettingsCog }, { label: 'Members', icon: IconUsers }, { label: 'Security', icon: IconFingerprint }, { label: 'Billing', icon: IconReceipt }, ], }, ]; export default function SettingsSidebar() { const [active, setActive] = useState('Account'); const menu = groupedData.map((group) => (