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-[var(--feedback-success-bg)] text-[var(--feedback-success-text)]', description: "Tolaria's AI features are ready to use.", icon: , title: 'Claude Code detected', } } if (status === 'missing') { return { accentClassName: 'bg-[var(--feedback-warning-bg)] text-[var(--feedback-warning-text)]', description: 'Tolaria works best with an AI coding agent installed.', icon: , title: 'Claude Code not detected', } } return { accentClassName: 'bg-muted text-muted-foreground', 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' && ( )}
) }