import clsx from 'clsx';

import styles from './Stepper.module.css';

export interface Step {
  label: string;
}

interface Props {
  currentStep: number;
  steps: Step[];
}

export function Stepper({ currentStep, steps }: Props) {
  return (
    <div className={styles.stepperWrapper}>
      {steps.map((step, index) => (
        <div
          key={step.label}
          className={clsx(styles.stepWrapper, {
            [styles.active]: index + 1 === currentStep,
            [styles.completed]: index + 1 < currentStep,
          })}
        >
          <div className={styles.step}>
            <div className={styles.stepCounter}>{index + 1}</div>
            <div className={styles.stepName}>{step.label}</div>
          </div>
        </div>
      ))}
    </div>
  );
}