"use client"; import { useState } from "react"; import { PawPrint, RefreshCw } from "lucide-react"; import { Button } from "@/components/ui/button"; import { Input } from "@/components/ui/input"; import { Card, CardContent, CardDescription, CardHeader, CardTitle } from "@/components/ui/card"; import { Badge } from "@/components/ui/badge"; import { Select, SelectContent, SelectItem, SelectTrigger, SelectValue } from "@/components/ui/select"; import { ScrollArea } from "@/components/ui/scroll-area"; import { Label } from "@/components/ui/label"; import { toast } from "sonner"; import { apiFetch, type Pet } from "./types"; interface Props { pets: Pet[]; onCreated: () => void; } const petTypes = [ { value: "dog", label: "🐕 Perro" }, { value: "cat", label: "🐱 Gato" }, { value: "bird", label: "🐦 Pájaro" }, { value: "rabbit", label: "🐰 Conejo" }, { value: "hamster", label: "🐹 Hámster" } ]; export default function PetsTab({ pets, onCreated }: Props) { const [petName, setPetName] = useState(""); const [petType, setPetType] = useState("dog"); const [petBreed, setPetBreed] = useState(""); const [petPersonality, setPetPersonality] = useState(""); const [petLoading, setPetLoading] = useState(false); const handleCreatePet = async () => { if (!petName.trim()) { toast.error("Dale un nombre a tu mascota"); return; } setPetLoading(true); try { const result = await apiFetch("/pets", { method: "POST", body: JSON.stringify({ name: petName, type: petType, breed: petBreed || undefined, personality: petPersonality || undefined, generateReference: true }), }); if (result.success) { toast.success(`Mascota "${petName}" creada (+${result.engagementBoost}% engagement)`); setPetName(""); setPetBreed(""); setPetPersonality(""); onCreated(); } else toast.error(result.error); } catch { toast.error("Error"); } finally { setPetLoading(false); } }; return (
Crear Mascota Las mascotas aumentan el engagement hasta un 35%
setPetName(e.target.value)} className="bg-slate-800 border-slate-700 mt-1" />
setPetBreed(e.target.value)} className="bg-slate-800 border-slate-700 mt-1" />
Mis Mascotas {pets.length === 0 ? (

No tienes mascotas

Las mascotas aumentan el engagement

) : (
{pets.map((p) => (

{p.name}

{p.breed || p.type} • {p.personality || "Sin personalidad"}

+35%
))}
)}
); }