You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

36 lines
956 B

  1. export type StepName =
  2. | 'left_ready'
  3. | 'left_begin'
  4. | 'left_end'
  5. | 'right_ready'
  6. | 'right_begin'
  7. | 'right_end';
  8. export type StepState = 'none' | 'ongoing' | 'done';
  9. export default function StepItem({ state = 'none', text }: { state: StepState; text: string }) {
  10. return (
  11. <div className="flex items-center px-4 h-10 bg-white rounded gap-3">
  12. <div
  13. className={`rounded-full w-[14px] h-[14px] flex justify-center items-center ${
  14. state === 'done'
  15. ? 'bg-[#52C41A]/[0.35]'
  16. : state === 'ongoing'
  17. ? 'bg-[#187ef9]/[0.35]'
  18. : 'bg-[#c0c0c0]/[0.35]'
  19. }`}
  20. >
  21. <div
  22. className={`rounded-full w-[10px] h-[10px] ${
  23. state === 'done'
  24. ? 'bg-[#52C41A]'
  25. : state === 'ongoing'
  26. ? 'bg-[#187ef9]'
  27. : 'bg-[#c0c0c0]'
  28. }`}
  29. ></div>
  30. </div>
  31. <p>{text}</p>
  32. </div>
  33. );
  34. }