diff --git a/src/components/prompts/CreatePromptDialog.tsx b/src/components/prompts/CreatePromptDialog.tsx new file mode 100644 index 0000000..eee2d88 --- /dev/null +++ b/src/components/prompts/CreatePromptDialog.tsx @@ -0,0 +1,212 @@ +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 handleGeneratePrompt = () => { + const 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.`; + + setSystemPrompt(generatedPrompt); + }; + + 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 + + + + +
+ +