'use client' import { Dispatch, SetStateAction } from 'react' import { PostWithSpace, updatePostPublishStatus } from '@/hooks/usePost' import { ExternalLink } from 'lucide-react' import { PublishPopover } from './PublishPopover' import { usePublishPost } from './usePublishPost' interface PostHeaderProps { isSaving: boolean post: PostWithSpace setData: Dispatch> } export function PostHeader({ post, setData, isSaving }: PostHeaderProps) { const url = process.env.NEXT_PUBLIC_VERCEL_ENV ? `https://${process.env.NEXT_PUBLIC_ROOT_DOMAIN}/@${post.space?.subdomain}/${post.slug}` : `http://localhost:3000/@${post.space?.subdomain}/${post.slug}` const { isLoading, publishPost } = usePublishPost() return (
{post.published && ( )}
{isSaving ? 'Saving...' : 'Saved'}
{ await publishPost(post, gateType) setData({ ...post, gateType, published: true }) updatePostPublishStatus() }} />
) }