import { useState } from "react"; import { Dialog, DialogContent, DialogDescription, DialogHeader, DialogTitle, } from "@/components/ui/dialog"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Label } from "@/components/ui/label"; import { Textarea } from "@/components/ui/textarea"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue, } from "@/components/ui/select"; import { Tabs, TabsContent, TabsList, TabsTrigger } from "@/components/ui/tabs"; import { Wand2 } from "lucide-react"; interface CreatePromptDialogProps { open: boolean; onOpenChange: (open: boolean) => void; } export function CreatePromptDialog({ open, onOpenChange }: CreatePromptDialogProps) { const [title, setTitle] = useState(""); const [systemPrompt, setSystemPrompt] = useState(""); // Assistente fields const [agentName, setAgentName] = useState(""); const [agentRole, setAgentRole] = useState(""); const [targetAudience, setTargetAudience] = useState(""); const [mainObjective, setMainObjective] = useState(""); const [toneOfVoice, setToneOfVoice] = useState(""); const [forbiddenPatterns, setForbiddenPatterns] = useState(""); const [refinementInstructions, setRefinementInstructions] = useState(""); const [isGenerated, setIsGenerated] = useState(false); const handleGeneratePrompt = () => { let generatedPrompt = `Você é ${agentName}, ${agentRole}. Público-alvo: ${targetAudience} Objetivo principal: ${mainObjective} Tom de voz: ${toneOfVoice} ${forbiddenPatterns ? `Padrões proibidos:\n${forbiddenPatterns}` : ''} Siga estas diretrizes em todas as suas interações.`; if (refinementInstructions && isGenerated) { generatedPrompt += `\n\nInstruções adicionais:\n${refinementInstructions}`; } setSystemPrompt(generatedPrompt); setIsGenerated(true); }; const handleStartOver = () => { setAgentName(""); setAgentRole(""); setTargetAudience(""); setMainObjective(""); setToneOfVoice(""); setForbiddenPatterns(""); setRefinementInstructions(""); setSystemPrompt(""); setIsGenerated(false); }; const handleSave = () => { console.log("Salvando prompt:", { title, systemPrompt }); // Aqui você implementaria a lógica de salvar no backend onOpenChange(false); }; return ( Criar Novo Prompt Crie um prompt manualmente ou use o assistente para gerar automaticamente.
setTitle(e.target.value)} />
Manual Assistente