"use client"; import { useState } from "react"; import { Users2, Lightbulb, Star, PawPrint, Sparkles, 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 { Label } from "@/components/ui/label"; import { Switch } from "@/components/ui/switch"; import { toast } from "sonner"; import { apiFetch, type Influencer } from "./types"; export default function InfluencersTab() { const [influencers, setInfluencers] = useState([]); const [influencerNiche, setInfluencerNiche] = useState(""); const [influencerPlatform, setInfluencerPlatform] = useState(""); const [influencerWithPets, setInfluencerWithPets] = useState(false); const [influencerLoading, setInfluencerLoading] = useState(false); const [characterConcept, setCharacterConcept] = useState(null); const handleAnalyzeInfluencers = async () => { setInfluencerLoading(true); try { const result = await apiFetch("/influencers", { method: "POST", body: JSON.stringify({ targetNiche: influencerNiche || "lifestyle", targetPlatform: influencerPlatform || undefined, includePets: influencerWithPets }), }); if (result.success) { setInfluencers(result.referenceInfluencers || []); setCharacterConcept(result.characterConcept); toast.success("Análisis completado"); } else toast.error(result.error); } catch { toast.error("Error"); } finally { setInfluencerLoading(false); } }; return (
Análisis de Influencers IA Famosos Estudia los patrones de influencers IA exitosos para aplicarlos a tu contenido
setInfluencerNiche(e.target.value)} className="bg-slate-800 border-slate-700 mt-1" />
{influencers.length > 0 && (
{influencers.map((inf, i) => (

{inf.name}

{inf.handle}

Seguidores: {(inf.followers / 1000000).toFixed(1)}M

Engagement: {inf.engagement}%

Nicho: {inf.niche}

{inf.petCompanion && {inf.petType}}

Lecciones:

    {inf.keyLessons.slice(0, 2).map((l, j) => (
  • • {l}
  • ))}
))}
)} {characterConcept && ( Concepto de Personaje Sugerido

Personaje

{characterConcept.character && ( <>

Nombre: {String(characterConcept.character.name || "")}

Personalidad: {String(characterConcept.character.personality || "")}

Historia: {String(characterConcept.character.backstory || "")}

)}

Estilo Visual

{characterConcept.visualStyle && ( <>

Estética: {String(characterConcept.visualStyle.aesthetic || "")}

Colores: {Array.isArray(characterConcept.visualStyle.colors) ? characterConcept.visualStyle.colors.join(", ") : ""}

)}
{Array.isArray(characterConcept.hashtags) && characterConcept.hashtags.length > 0 && (
{characterConcept.hashtags.slice(0, 10).map((tag: string, i: number) => ( {tag} ))}
)}
)}
); }