import { useEffect, useMemo, useState } from 'react' import { Outlet, useLocation, useNavigate } from 'react-router-dom' import { Avatar, Button, Heading, IconButton, Tab, TabList, Tabs, Tag, } from '@chakra-ui/react' import cx from 'classnames' import NotificationAPI from '@/client/api/notification' import UserAPI from '@/client/idp/user' import { swrConfig } from '@/client/options' import AccountEditPicture from '@/components/account/edit-picture' import { IconEdit } from '@/lib' const AccountLayout = () => { const location = useLocation() const navigate = useNavigate() const [isImageModalOpen, setIsImageModalOpen] = useState(false) const { data: user } = UserAPI.useGet(swrConfig()) const { data: notfications } = NotificationAPI.useGetAll(swrConfig()) const invitationCount = useMemo( () => notfications?.filter((e) => e.type === 'new_invitation').length, [notfications], ) const [tabIndex, setTabIndex] = useState(0) useEffect(() => { const segments = location.pathname.split('/') const segment = segments[segments.length - 1] if (segment === 'settings') { setTabIndex(0) } else if (segment === 'invitation') { setTabIndex(1) } }, [location]) if (!user) { return null } return (