import { useState } from "react"; import { Link, useNavigate, useParams } from "react-router-dom"; import { ArrowLeft, Check } from "lucide-react"; import { Button } from "../../components/ui/button"; import { Stepper } from "../../components/ui/stepper"; import successIcon from "../../assets/success.svg"; import { ProgramAttachStep1 } from "./components/practice-steps/ProgramAttachStep1"; import { ProgramAttachReviewStep } from "./components/practice-steps/ProgramAttachReviewStep"; export function AttachProgramPracticeFlow() { const navigate = useNavigate(); const { programType } = useParams<{ programType: string }>(); const backPath = `/new-content/courses/${programType}`; const [currentStep, setCurrentStep] = useState(1); const [isPublished, setIsPublished] = useState(false); const [formData, setFormData] = useState({ program: "English Proficiency Exams", test: "Mock Exam 1", questionType: "Speaking Practice", version: "V 1.0", }); const steps = ["Set Program", "Review & Publish"]; const nextStep = () => setCurrentStep((prev) => Math.min(prev + 1, steps.length)); const prevStep = () => setCurrentStep((prev) => Math.max(prev - 1, 1)); if (isPublished) { return (
{/* Scalloped Success Icon */}
Success

Practice Attached Successfully!

The practice has been successfully linked to the program{" "} “{formData.program}”

); } const renderStep = () => { switch (currentStep) { case 1: return ( navigate(backPath)} /> ); case 2: return ( setIsPublished(true)} onCancel={() => navigate(backPath)} /> ); default: return null; } }; const title = currentStep === 1 ? "Attach Practice to a program" : "Review & Publish"; const description = currentStep === 1 ? "Create a new immersive practice session for a video." : "Verify practice details before publishing it."; return (
{/* Navigation Breadcrumb */}
Back to Program
{/* Stepper Area */}
{/* Page Title & Header Actions */}

{title}

{description}

{/* Form Content */}
{renderStep()}
); }