diff --git a/src/components/images/ImageView.tsx b/src/components/images/ImageView.tsx index 59a0a9f..cc3a989 100644 --- a/src/components/images/ImageView.tsx +++ b/src/components/images/ImageView.tsx @@ -2,8 +2,9 @@ import { useState } from "react"; import { ChatHeader } from "@/components/ChatHeader"; import { Button } from "@/components/ui/button"; import { Textarea } from "@/components/ui/textarea"; -import { Download, Copy, Trash2, Sparkles } from "lucide-react"; +import { Download, Copy, Trash2, Sparkles, Clock, Search } from "lucide-react"; import { ScrollArea } from "@/components/ui/scroll-area"; +import { Input } from "@/components/ui/input"; import { Select, SelectContent, @@ -11,136 +12,240 @@ import { SelectTrigger, SelectValue, } from "@/components/ui/select"; +import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; + +interface GeneratedImage { + id: string; + url: string; + prompt: string; + size: string; + timestamp: string; +} export const ImageView = () => { const [prompt, setPrompt] = useState(""); const [isGenerating, setIsGenerating] = useState(false); - const [images, setImages] = useState([]); + const [selectedSize, setSelectedSize] = useState("1024x1024"); + const [searchQuery, setSearchQuery] = useState(""); + const [images, setImages] = useState([ + { + id: "1", + url: "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=512&h=512&fit=crop", + prompt: "Paisagem futurista com cidades voadoras", + size: "1024x1024", + timestamp: "Há 2 horas", + }, + { + id: "2", + url: "https://images.unsplash.com/photo-1634017839464-5c339ebe3cb4?w=512&h=512&fit=crop", + prompt: "Robô humanoide em estilo cyberpunk", + size: "1024x1536", + timestamp: "Há 5 horas", + }, + ]); const handleGenerate = () => { setIsGenerating(true); // Simulate image generation setTimeout(() => { - setImages((prev) => [ - "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=512&h=512&fit=crop", - ...prev, - ]); + const newImage: GeneratedImage = { + id: Date.now().toString(), + url: "https://images.unsplash.com/photo-1618005182384-a83a8bd57fbe?w=512&h=512&fit=crop", + prompt: prompt, + size: selectedSize, + timestamp: "Agora", + }; + setImages([newImage, ...images]); setIsGenerating(false); + setPrompt(""); }, 3000); }; + const handleDelete = (id: string) => { + setImages(images.filter((img) => img.id !== id)); + }; + + const filteredImages = images.filter((img) => + img.prompt.toLowerCase().includes(searchQuery.toLowerCase()) + ); + return (
- -
- {/* Generation Form */} -
-
- -