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}