import { ArrowUpRight, Bot, CheckCircle2, Loader2 } from 'lucide-react' import type { ClaudeCodeStatus } from '../hooks/useClaudeCodeStatus' import { openExternalUrl } from '../utils/url' import { Button } from './ui/button' import { Card, CardContent, CardFooter, CardHeader, CardTitle } from './ui/card' const CLAUDE_CODE_INSTALL_URL = 'https://docs.anthropic.com/en/docs/claude-code' interface ClaudeCodeOnboardingPromptProps { status: ClaudeCodeStatus onContinue: () => void } function getPromptCopy(status: ClaudeCodeStatus) { if (status === 'installed') { return { accentClassName: 'bg-emerald-100 text-emerald-700', description: "Tolaria's AI features are ready to use.", icon: , title: 'Claude Code detected', } } if (status === 'missing') { return { accentClassName: 'bg-amber-100 text-amber-700', description: 'Tolaria works best with an AI coding agent installed.', icon: , title: 'Claude Code not detected', } } return { accentClassName: 'bg-slate-100 text-slate-600', description: 'Checking whether Claude Code is available on this machine.', icon: , title: 'Checking for Claude Code', } } export function ClaudeCodeOnboardingPrompt({ status, onContinue, }: ClaudeCodeOnboardingPromptProps) { const copy = getPromptCopy(status) return (
{copy.icon}
{copy.title}

{status === 'installed' && '✅ '} {status === 'missing' && '🤖 '} {copy.description}

{status === 'missing' && (

Install Claude Code to enable AI-powered note management.

)}
{status === 'missing' && ( )}
) }