import { useMutation, useQuery } from '@tanstack/react-query'; import { Link } from '@tanstack/react-router'; import { EyeIcon, Globe2Icon, LockIcon } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { DropdownMenu, DropdownMenuContent, DropdownMenuGroup, DropdownMenuItem, DropdownMenuTrigger, } from '@/components/ui/dropdown-menu'; import { useTRPC } from '@/integrations/trpc/react'; import { pushModal } from '@/modals'; interface OverviewShareProps { projectId: string; } export function OverviewShare({ projectId }: OverviewShareProps) { const trpc = useTRPC(); const query = useQuery( trpc.share.overview.queryOptions( { projectId, }, { retry: 0, } ) ); const data = query.data; const mutation = useMutation( trpc.share.createOverview.mutationOptions({ onSuccess() { query.refetch(); }, }) ); return ( {(!data || data.public === false) && ( pushModal('ShareOverviewModal')}> Make public )} {data?.public && ( View )} {data?.public && ( { mutation.mutate({ ...data, public: false, password: null, }); }} > Make private )} ); }