forked from
leaflet.pub/leaflet
a tool for shared writing and social publishing
1"use client";
2import { useUIState } from "src/useUIState";
3import { Media } from "./Media";
4import { Toolbar } from "./Toolbar";
5import { useEntitySetContext } from "./EntitySetProvider";
6import { focusBlock } from "src/utils/focusBlock";
7
8export function DesktopPageFooter(props: { pageID: string }) {
9 let focusedEntity = useUIState((s) => s.focusedEntity);
10 let focusedBlockParentID =
11 focusedEntity?.entityType === "page"
12 ? focusedEntity.entityID
13 : focusedEntity?.parent;
14 let entity_set = useEntitySetContext();
15
16 return (
17 <Media
18 mobile={false}
19 className="absolute bottom-[40px] w-full z-10 pointer-events-none"
20 >
21 {focusedEntity &&
22 focusedEntity.entityType === "block" &&
23 entity_set.permissions.write &&
24 focusedBlockParentID === props.pageID && (
25 <div
26 className="pointer-events-auto w-fit mx-auto py-1 px-3 h-9 bg-bg-page border border-border rounded-full shadow-sm"
27 onMouseDown={(e) => {
28 if (e.currentTarget === e.target) e.preventDefault();
29 }}
30 >
31 <Toolbar
32 pageID={focusedBlockParentID}
33 blockID={focusedEntity.entityID}
34 />
35 </div>
36 )}
37 </Media>
38 );
39}