import { Modal, ModalOverlay, ModalContent, Stack, Text, Button, Avatar, Flex, } from '@chakra-ui/react' import { CreditCardIcon, HardDriveIcon, SettingsIcon, UsersIcon, } from 'assets/icons' import { EmojiOrImageIcon } from 'components/shared/EmojiOrImageIcon' import { useWorkspace } from 'contexts/WorkspaceContext' import { User, Workspace } from 'db' import { useState } from 'react' import { BillingForm } from './BillingForm' import { MembersList } from './MembersList' import { MyAccountForm } from './MyAccountForm' import { EditorSettings } from './UserSettingsForm' import { WorkspaceSettingsForm } from './WorkspaceSettingsForm' type Props = { isOpen: boolean user: User workspace: Workspace onClose: () => void } type SettingsTab = | 'my-account' | 'user-settings' | 'workspace-settings' | 'members' | 'billing' export const WorkspaceSettingsModal = ({ isOpen, user, workspace, onClose, }: Props) => { const { canEdit } = useWorkspace() const [selectedTab, setSelectedTab] = useState('my-account') return ( {user.email} Workspace {canEdit && ( )} {canEdit && ( )} {isOpen && ( )} ) } const SettingsContent = ({ tab, onClose, }: { tab: SettingsTab onClose: () => void }) => { switch (tab) { case 'my-account': return case 'user-settings': return case 'workspace-settings': return case 'members': return case 'billing': return default: return null } }