"use client";
import React from "react";
import { useUIState } from "src/useUIState";
import { useSearchParams } from "next/navigation";
import { useEntity } from "src/replicache";
import { useCardBorderHidden } from "./useCardBorderHidden";
import { BookendSpacer, SandwichSpacer } from "components/LeafletLayout";
import { LeafletSidebar } from "app/[leaflet_id]/Sidebar";
import { Page } from "./Page";
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;
let cardBorderHidden = useCardBorderHidden(rootPage.id);
let firstPageIsCanvas = useEntity(firstPage, "page/type");
let fullPageScroll =
!!cardBorderHidden && pages.length === 0 && !firstPageIsCanvas;
return (
<>
{!fullPageScroll && (
{
e.currentTarget === e.target && blurPage();
}}
/>
)}
{pages.map((page) => (
{
e.currentTarget === e.target && blurPage();
}}
/>
))}
{!fullPageScroll && (
{
e.currentTarget === e.target && blurPage();
}}
/>
)}
>
);
}
const blurPage = () => {
useUIState.setState(() => ({
focusedEntity: null,
selectedBlocks: [],
}));
};