import { useUIState } from "src/useUIState"; import { useLeafletPublicationData } from "components/PageSWRDataProvider"; import { usePublicationData } from "app/(app)/lish/[did]/[publication]/dashboard/PublicationSWRProvider"; import { BlockProps, BlockLayout } from "./Block"; import { SubscribeInput } from "components/Subscribe/SubscribeButton"; // SubscribeBlock renders the publication subscribe form in the editor, styled to // match SubscribePanel (components/Subscribe/SubscribeButton.tsx). The published // page renders the same form via PostContent.tsx's signup case. export const SubscribeBlock = ( props: BlockProps & { areYouSure?: boolean; setAreYouSure?: (value: boolean) => void; }, ) => { let isSelected = useUIState((s) => s.selectedBlocks.find((b) => b.value === props.entityID), ); let { normalizedPublication } = useLeafletPublicationData(); let { data } = usePublicationData(); let publicationUri = data?.publication?.uri; let newsletterMode = !!data?.publication?.publication_newsletter_settings?.enabled; let publicationName = normalizedPublication?.name || "Subscribe"; let publicationDescription = normalizedPublication?.description; return (

{publicationName}

{publicationDescription && (
{publicationDescription}
)}
{publicationUri && ( )}
); };