import { useAI, useCollection, useReactions } from '@deplixo/sdk'; const OUTPUT_OPTIONS = [ { id: "icebreaker", label: "Personalized icebreaker line" }, { id: "linkedin_dm", label: "LinkedIn DM (intro)" }, { id: "cold_email", label: "Cold email (intro)" }, { id: "followup", label: "Follow-up / bump message" }, { id: "research", label: "Research summary" }, { id: "prep_notes", label: "Conversation prep notes" }, { id: "fit_signal", label: "ICP fit signal" }, ]; const FIT_LEVELS = { strong: "strong", medium: "medium", weak: "weak" }; function Spinner() { return (
Analyzing...
); } function Section({ title, children, accent }) { const accentClass = accent ? `section-accent-${accent}` : ""; return (
{title}
{children}
); } function CopyButton({ text }) { const [copied, setCopied] = useState(false); const copy = () => { navigator.clipboard.writeText(text); setCopied(true); setTimeout(() => setCopied(false), 1500); }; return ( ); } function OutputBlock({ label, content, accent }) { if (!content) return null; const isString = typeof content === "string"; return (
{isString ? (
{content}
) : (
{content}
)}
); } function FitSignalCard({ fitSignal }) { if (!fitSignal) return null; const level = fitSignal.level || "medium"; return (
{level} fit
{fitSignal.reasoning}
); } function BioSetup({ bio, setBio, onSave }) { return (
First-time setup

Add your bio or value prop once — it'll be saved for every session.