"use client"; import React from "react"; import { Button } from "@/components/ui/button"; import { CheckCircle, Circle, ArrowRight } from "lucide-react"; // νƒ€μž… import import { StepProgressProps } from "../types/redesigned"; /** * πŸ“Š 단계 μ§„ν–‰ ν‘œμ‹œ * - ν˜„μž¬ 단계 ν•˜μ΄λΌμ΄νŠΈ * - μ™„λ£Œλœ 단계 체크 ν‘œμ‹œ * - 클릭으둜 단계 이동 */ const StepProgress: React.FC = ({ currentStep, completedSteps, onStepClick }) => { const steps = [ { number: 1, title: "μ—°κ²° 선택", description: "FROM/TO λ°μ΄ν„°λ² μ΄μŠ€ μ—°κ²°" }, { number: 2, title: "ν…Œμ΄λΈ” 선택", description: "μ†ŒμŠ€/λŒ€μƒ ν…Œμ΄λΈ” 선택" }, { number: 3, title: "μ œμ–΄ 쑰건", description: "전체 μ œμ–΄ μ‹€ν–‰ 쑰건 μ„€μ •" }, { number: 4, title: "μ•‘μ…˜ 및 λ§€ν•‘", description: "μ•‘μ…˜ μ„€μ • 및 컬럼 λ§€ν•‘" }, ]; const getStepStatus = (stepNumber: number) => { if (completedSteps.includes(stepNumber)) return "completed"; if (stepNumber === currentStep) return "current"; return "pending"; }; const getStepIcon = (stepNumber: number) => { const status = getStepStatus(stepNumber); if (status === "completed") { return ; } return ( ); }; const canClickStep = (stepNumber: number) => { // ν˜„μž¬ λ‹¨κ³„μ΄κ±°λ‚˜ μ™„λ£Œλœ λ‹¨κ³„λ§Œ 클릭 κ°€λŠ₯ return stepNumber === currentStep || completedSteps.includes(stepNumber); }; return (
{steps.map((step, index) => ( {/* 단계 */}
{/* ν™”μ‚΄ν‘œ (λ§ˆμ§€λ§‰ 단계 μ œμ™Έ) */} {index < steps.length - 1 && }
))}
); }; export default StepProgress;