import { useState } from 'react'; import type { Campaign, Character } from '@/lib/schemas'; import { Button } from '@/components/ui/Button'; import { Input } from '@/components/ui/Input'; import { useLevelUpAdvisor } from '@/features/assistant/useLevelUpAdvisor'; /** * Build-route advisor shown alongside the HP-only level-up flow. Presents ~4 * system-aware routes (plus a custom one); choosing one expands it into concrete * steps. AI-powered when configured, deterministic otherwise. */ export function LevelUpAdvisor({ campaign, character }: { campaign: Campaign; character: Character }) { const { state, routes, steps, chosen, source, message, canUseLlm, fetchRoutes, chooseRoute } = useLevelUpAdvisor(campaign, character); const [custom, setCustom] = useState(''); if (state === 'idle') { return (
Not sure where to take this character?
); } return (
{source === 'llm' ? 'AI build routes' : 'Build routes'} {state === 'loading' && Thinking…}
{message &&

{message}

} {routes && ( )}
setCustom(e.target.value)} placeholder="Or describe your own route…" aria-label="Custom build route" className="text-sm" />
{chosen && !routes?.some((r) => r.title === chosen) && steps && (
    {steps.map((s, i) => (
  1. {s.label}: {s.detail}
  2. ))}
)}
); }