/** * Setup Wizard Page * First-time setup experience for new users */ import { useState } from 'react'; import { useNavigate } from 'react-router-dom'; import { motion, AnimatePresence } from 'framer-motion'; import { Check, ChevronLeft, ChevronRight } from 'lucide-react'; import { Button } from '@/components/ui/button'; import { cn } from '@/lib/utils'; interface SetupStep { id: string; title: string; description: string; } const steps: SetupStep[] = [ { id: 'welcome', title: 'Welcome to ClawX', description: 'Your AI assistant is ready to be configured', }, { id: 'runtime', title: 'Environment Check', description: 'Verifying system requirements', }, { id: 'provider', title: 'AI Provider', description: 'Configure your AI service', }, { id: 'channel', title: 'Connect Channel', description: 'Link a messaging app', }, { id: 'skills', title: 'Choose Skills', description: 'Select your skill bundles', }, { id: 'complete', title: 'All Set!', description: 'ClawX is ready to use', }, ]; export function Setup() { const navigate = useNavigate(); const [currentStep, setCurrentStep] = useState(0); const step = steps[currentStep]; const isFirstStep = currentStep === 0; const isLastStep = currentStep === steps.length - 1; const handleNext = () => { if (isLastStep) { // Complete setup and go to dashboard navigate('/'); } else { setCurrentStep((i) => i + 1); } }; const handleBack = () => { setCurrentStep((i) => Math.max(i - 1, 0)); }; const handleSkip = () => { navigate('/'); }; return (
{step.description}
ClawX is a graphical interface for OpenClaw, making it easy to use AI assistants across your favorite messaging platforms.
Choose your preferred AI model provider
Link a messaging app to start chatting with your AI
You can add more channels later in Settings
Select pre-configured skill packages
ClawX is configured and ready to use. You can now start chatting with your AI assistant.
✅ AI Provider configured
✅ Channel connected
✅ Skills enabled
✅ Gateway running