import React from "react"; import { ActionIcon, Affix, AppShell, Button, Group, ScrollArea, Text, Tooltip, } from "@mantine/core"; import { useGetSharedPageTreeQuery } from "@/features/share/queries/share-query.ts"; import { useParams } from "react-router-dom"; import SharedTree from "@/features/share/components/shared-tree.tsx"; import { TableOfContents } from "@/features/editor/components/table-of-contents/table-of-contents.tsx"; import { readOnlyEditorAtom } from "@/features/editor/atoms/editor-atoms.ts"; import { ThemeToggle } from "@/components/theme-toggle.tsx"; import { useAtomValue } from "jotai"; import { useAtom } from "jotai"; import { desktopSidebarAtom, mobileSidebarAtom, } from "@/components/layouts/global/hooks/atoms/sidebar-atom.ts"; import SidebarToggle from "@/components/ui/sidebar-toggle-button.tsx"; import { useTranslation } from "react-i18next"; import { useToggleSidebar } from "@/components/layouts/global/hooks/hooks/use-toggle-sidebar.ts"; import { mobileTableOfContentAsideAtom, tableOfContentAsideAtom, } from "@/features/share/atoms/sidebar-atom.ts"; import { IconList } from "@tabler/icons-react"; import { useToggleToc } from "@/features/share/hooks/use-toggle-toc.ts"; const MemoizedSharedTree = React.memo(SharedTree); export default function ShareShell({ children, }: { children: React.ReactNode; }) { const { t } = useTranslation(); const [mobileOpened] = useAtom(mobileSidebarAtom); const [desktopOpened] = useAtom(desktopSidebarAtom); const toggleMobile = useToggleSidebar(mobileSidebarAtom); const toggleDesktop = useToggleSidebar(desktopSidebarAtom); const [tocOpened] = useAtom(tableOfContentAsideAtom); const [mobileTocOpened] = useAtom(mobileTableOfContentAsideAtom); const toggleTocMobile = useToggleToc(mobileTableOfContentAsideAtom); const toggleToc = useToggleToc(tableOfContentAsideAtom); const { shareId } = useParams(); const { data } = useGetSharedPageTreeQuery(shareId); const readOnlyEditor = useAtomValue(readOnlyEditorAtom); return ( {data?.pageTree?.length > 0 && ( <> )} <> {data?.pageTree?.length > 0 && ( )} {children}
{readOnlyEditor && ( )}
); }