why-agent / client /frontend /src /components /DemoQuestions.tsx
MapoTofu9's picture
deploy: HF Spaces
5d30bdc
Raw
History Blame Contribute Delete
2.18 kB
"use client";
import { useState } from "react";
const QUESTIONS = [
"Why did campaign 230 underperform campaign 150?",
"Why did many email conversions happen within a minute of send?",
"Recipients who got more messages converted better or worse than those who got less messages? Does sending more emails drive higher conversions?"
];
interface Props { onSelect: (q: string) => void; disabled: boolean; }
export default function DemoQuestions({ onSelect, disabled }: Props) {
const [open, setOpen] = useState(true);
return (
<div className="space-y-2">
<button
type="button"
onClick={() => setOpen((o) => !o)}
aria-expanded={open}
className="w-full flex items-start gap-2 rounded-lg px-2 py-2 text-left text-violet-400 hover:bg-elevated hover:text-violet-200 transition-colors"
>
<span className="text-[10px] font-mono text-violet-600 w-3 pt-0.5">{open ? "▼" : "▶"}</span>
<span className="min-w-0">
<span className="block text-xs font-mono uppercase tracking-widest">Start Here</span>
<span className="mt-0.5 block text-[10px] font-mono normal-case tracking-normal text-violet-600">
Demo questions you may be interested in
</span>
</span>
<span className="ml-auto text-[10px] font-mono text-violet-600 pt-0.5">{QUESTIONS.length}</span>
</button>
{open && (
<div className="ml-3 pl-3 border-l border-frame space-y-1">
{QUESTIONS.map((q, i) => (
<button key={q} onClick={() => onSelect(q)} disabled={disabled}
className="w-full text-left group flex items-start gap-2 px-2 py-1.5 rounded-lg hover:bg-elevated transition-colors disabled:opacity-30 disabled:cursor-not-allowed">
<span className="text-[10px] font-mono text-violet-500 mt-0.5 shrink-0 group-hover:text-violet-300 transition-colors">
#{String(i + 1).padStart(2, "0")}
</span>
<span className="text-xs text-violet-200 group-hover:text-white transition-colors leading-snug">{q}</span>
</button>
))}
</div>
)}
</div>
);
}