import { useIsBlockSelected } from "src/useUIState";
import { useEntity, useReplicache } from "src/replicache";
import { BlockProps, BlockLayout } from "./Block";
import { useLeafletPublicationData } from "components/PageSWRDataProvider";
import {
PublicationMetadata,
PublicationMetadataPreview,
} from "components/Pages/PublicationMetadata";
import { ToggleWithLabel } from "components/Toggle";
import { BlockSettings } from "./SettingsTriggerButton";
// The post's header (publication, title, description, byline) as a movable
// canvas block. It renders the same PublicationMetadata a linear document
// shows above its blocks; the published page renders the post's PostHeader in
// its place (PostContent.tsx's postHeader case).
export const PostHeaderBlock = (
props: BlockProps & {
preview?: boolean;
areYouSure?: boolean;
setAreYouSure?: (value: boolean) => void;
},
) => {
let isSelected = useIsBlockSelected(props.entityID);
let compact =
useEntity(props.entityID, "post-header/compact")?.data.value ?? false;
let { data } = useLeafletPublicationData();
let className = "p-0! overflow-visible! bg-bg-page";
if (props.preview)
return (