import { Group, Menu, Text, UnstyledButton, useMantineColorScheme, } from "@mantine/core"; import { IconBrightnessFilled, IconBrush, IconCheck, IconChevronDown, IconDeviceDesktop, IconLogout, IconMoon, IconSettings, IconSun, IconUser, IconUserCircle, IconUsers, } from "@tabler/icons-react"; import { useDisclosure } from "@mantine/hooks"; import { getSpaceUrl } from "@/lib/config.ts"; import { useHasFeature } from "@/ee/hooks/use-feature"; import { Feature } from "@/ee/features"; import { usePersonalSpaceQuery } from "@/ee/personal-space/queries/personal-space-query"; import CreatePersonalSpaceModal from "@/ee/personal-space/components/create-personal-space-modal"; import { useAtom } from "jotai"; import { currentUserAtom } from "@/features/user/atoms/current-user-atom.ts"; import { Link } from "react-router-dom"; import APP_ROUTE from "@/lib/app-route.ts"; import useAuth from "@/features/auth/hooks/use-auth.ts"; import { CustomAvatar } from "@/components/ui/custom-avatar.tsx"; import { useTranslation } from "react-i18next"; import { AvatarIconType } from "@/features/attachments/types/attachment.types.ts"; export default function TopMenu() { const { t } = useTranslation(); const [currentUser] = useAtom(currentUserAtom); const { logout } = useAuth(); const { colorScheme, setColorScheme } = useMantineColorScheme(); const user = currentUser?.user; const workspace = currentUser?.workspace; const hasPersonalSpaces = useHasFeature(Feature.PERSONAL_SPACES); const settingEnabled = workspace?.settings?.spaces?.allowPersonal === true; const { data: personalSpace } = usePersonalSpaceQuery(hasPersonalSpaces); const [ createOpened, { open: openCreate, close: closeCreate }, ] = useDisclosure(false); if (!user || !workspace) { return <>>; } return ( <>