'use client' import React from 'react' import { InteractiveCard } from '../../ui/interactive-card' import { Button } from '../../ui/button' import { StatusBadge } from '../../ui/status-badge' import { cn } from '../../../utils/cn' export interface OnboardingStepCardProps { step: { id: string title: string description: string actionIcon: (color?: string) => React.ReactNode actionText: string completedText: string onAction: () => void | Promise onSkip?: () => void } isCompleted: boolean isSkipped: boolean isCheckingCompletion: boolean onAction: () => void | Promise onSkip: () => void className?: string } export function OnboardingStepCard({ step, isCompleted, isSkipped, isCheckingCompletion, onAction, onSkip, className }: OnboardingStepCardProps) { const [isProcessing, setIsProcessing] = React.useState(false) const handleAction = async (e: React.MouseEvent) => { e.stopPropagation() setIsProcessing(true) try { await onAction() } finally { setIsProcessing(false) } } const handleSkip = (e: React.MouseEvent) => { e.stopPropagation() onSkip() } return ( {/* Left column - content */}

{step.title}

{step.description}

{/* Right column - action buttons, completed badge, or skipped badge */}
e.stopPropagation()}> {isCheckingCompletion ? ( <>
) : isCompleted ? ( <> ) : isSkipped ? ( <> ) : ( <> )}
) }