import { Dialog, DialogContent, DialogHeader, DialogTitle } from '@/components/ui/dialog' import { Button } from '@/components/ui/button' import { X, ArrowSquareOut } from '@phosphor-icons/react' import { useEffect, useState } from 'react' interface PreviewDialogProps { open: boolean onOpenChange: (open: boolean) => void onPreviewUrlChange?: (url: string) => void } export function PreviewDialog({ open, onOpenChange, onPreviewUrlChange }: PreviewDialogProps) { const [previewUrl, setPreviewUrl] = useState('') useEffect(() => { if (open) { const currentUrl = window.location.href const url = new URL(currentUrl) url.searchParams.set('preview', 'true') const nextUrl = url.toString() setPreviewUrl(nextUrl) onPreviewUrlChange?.(nextUrl) return } setPreviewUrl('') onPreviewUrlChange?.('') }, [open, onPreviewUrlChange]) const handleOpenInNewTab = () => { if (previewUrl) { window.open(previewUrl, '_blank', 'noopener,noreferrer') } } return ( Preview
{previewUrl && (