"use client"; import React, { JSX, useState } from "react"; import { useUIState } from "src/useUIState"; import { useEntitySetContext } from "../EntitySetProvider"; import { useSearchParams } from "next/navigation"; import { focusBlock } from "src/utils/focusBlock"; import { elementId } from "src/utils/elementId"; import { Replicache } from "replicache"; import { Fact, ReplicacheMutators, useEntity, useReferenceToEntity, useReplicache, } from "src/replicache"; import { Media } from "../Media"; import { DesktopPageFooter } from "../DesktopFooter"; import { ThemePopover } from "../ThemeManager/ThemeSetter"; import { Canvas } from "../Canvas"; import { DraftPostOptions } from "../Blocks/MailboxBlock"; import { Blocks } from "components/Blocks"; import { MenuItem, Menu } from "../Layout"; import { scanIndex } from "src/replicache/utils"; import { PageThemeSetter } from "../ThemeManager/PageThemeSetter"; import { CardThemeProvider } from "../ThemeManager/ThemeProvider"; import { PageShareMenu } from "./PageShareMenu"; import { scrollIntoViewIfNeeded } from "src/utils/scrollIntoViewIfNeeded"; import { useUndoState } from "src/undoManager"; import { CloseTiny } from "components/Icons/CloseTiny"; import { MoreOptionsTiny } from "components/Icons/MoreOptionsTiny"; import { PaintSmall } from "components/Icons/PaintSmall"; import { ShareSmall } from "components/Icons/ShareSmall"; import { PublicationMetadata } from "./PublicationMetadata"; import { useCardBorderHidden } from "./useCardBorderHidden"; import { useLeafletPublicationData } from "components/PageSWRDataProvider"; export function Pages(props: { rootPage: string }) { let rootPage = useEntity(props.rootPage, "root/page")[0]; let pages = useUIState((s) => s.openPages); let params = useSearchParams(); let queryRoot = params.get("page"); let firstPage = queryRoot || rootPage?.data.value || props.rootPage; return ( <>