"use client" import { Card, CardContent, CardHeader, CardTitle } from "@/components/ui/card" import { Button } from "@/components/ui/button" import { Badge } from "@/components/ui/badge" import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs" import { ScrollArea } from "@/components/ui/scroll-area" import { Code, Eye, Download, Copy, RefreshCw } from "lucide-react" import { useState } from "react" interface WebsitePreviewProps { generatedWebsite?: { html: string css: string js: string preview: string } isGenerating?: boolean } export function WebsitePreview({ generatedWebsite, isGenerating }: WebsitePreviewProps) { const [activeTab, setActiveTab] = useState("preview") const copyToClipboard = (content: string) => { navigator.clipboard.writeText(content) } const downloadFile = (content: string, filename: string) => { const blob = new Blob([content], { type: "text/plain" }) const url = URL.createObjectURL(blob) const a = document.createElement("a") a.href = url a.download = filename a.click() URL.revokeObjectURL(url) } return (
Website Preview
{isGenerating && ( Generating... )} {generatedWebsite && Ready}
{generatedWebsite ? (
Preview HTML CSS JavaScript