* wip: custom roadmap renderer * wip: custom roadmap events * wip: roadmap content * wip: svg styles * wip: custom roadmap progress * Render progress * Shortcut progress * Progress Tracking styles * wip: edit and share button * fix: disabled the share button * wip: content links rendering * Fix progress share * Replace disabled with `canShare` * wip: show custom roadmaps * wip: users all roadmaps * fix: create roadmap api * chore: roadmap sidebar icon * wip: content links * Update links color * Create roadmap home * Create Roadmap button * Roadmap type * chore: share progress modal * wip: share roadmap * wip: change visibility * chore: custom roadmap progress in activity * wip: custom roadmap share progress * chore: friend's roadmap * wip: custom roadmap skeleton * chore: roadmap title * Restricted Page * fix: skeleton loading width * Fix create roadmap button * chore: remove user id * chore: pick roadmap and share * chore: open new tab on create roadmap * chore: change share title * chore: use team id from params * chore: team roadmap create modal * chore: create team roadmap * chore: custom roadmap modal * chore: placeholde roadmaps * chore: roadmap hint * chore: visibility label * chore: public roadmap * chore: empty screen * chore: team progress * chore: create roadmap responsive * chore: form error * chore: multi user history * wip: manage custom roadmap * chore: empty roadmap list * chore: custom roadmap visit * chore: shared roadmaps * chore: shared roadmaps * chore: empty screen and topic title * chore: show progress bar * Implement Error in topic details * Add Modal close button * fix: link groups * Refactor roadmap creation * Refactor roadmap creation * Refactor team creation * Refactor team roadmaps * Refactor team creation roadmap selection * Refactor * Refactor team roadmap loading * Refactor team roadmaps * Refactor team roadmaps listing * Refactor Account dropdown * Updates * Refactor Account dropdown * Fix Team name overflow * Change Icon color * Update team dropdown * Minor UI fixes * Fix minor UI * Flicker fix in team dropdown * Roadmap action dropdown with responsiveness * Team roadmaps listing * Update team settings * Team roadmaps listing * fix: remove visibility change * Update roadmap options modal * Add dummy renderer * Add renderer script * Add generate renderer script * Add generate renderer * wip: add share settings * Update * Update UI * Update Minor UI * Fix team issue * Update Personal roadmaps UI * Add Roadmap Secret * Update teams type * Rearrange sections * Change Secret name * Add action button on roadmap detail page --------- Co-authored-by: Kamran Ahmed <kamranahmed.se@gmail.com>
53 lines
1.5 KiB
TypeScript
53 lines
1.5 KiB
TypeScript
import { Fragment } from 'react';
|
|
import { CheckIcon } from './ReactIcons/CheckIcon';
|
|
|
|
type StepperStep = {
|
|
label: string;
|
|
onClick?: () => void;
|
|
};
|
|
|
|
type StepperProps = {
|
|
activeIndex: number;
|
|
completeSteps: number[];
|
|
steps: StepperStep[];
|
|
};
|
|
|
|
export function Stepper(props: StepperProps) {
|
|
const { steps, activeIndex = 0, completeSteps = [] } = props;
|
|
|
|
return (
|
|
<ol className="flex w-full items-center text-gray-500" key="stepper">
|
|
{steps.map((step, stepCounter) => {
|
|
const isComplete = completeSteps.includes(stepCounter);
|
|
const isActive = activeIndex === stepCounter;
|
|
const isLast = stepCounter === steps.length - 1;
|
|
|
|
return (
|
|
<Fragment key={stepCounter}>
|
|
<li
|
|
className={`flex items-center ${
|
|
isComplete || isActive ? 'text-black' : 'text-gray-400'
|
|
}`}
|
|
>
|
|
{isComplete && (
|
|
<CheckIcon
|
|
additionalClasses={'mr-2 top-[0.5px] w-[18px] h-[18px]'}
|
|
/>
|
|
)}
|
|
{!isComplete && (
|
|
<span className="mr-2 font-semibold">{stepCounter + 1}</span>
|
|
)}
|
|
<span className="flex flex-grow">{step.label}</span>
|
|
</li>
|
|
{!isLast && (
|
|
<li className={'mx-5 flex flex-grow rounded-md bg-gray-200'}>
|
|
<span className={'h-1 w-full'} />
|
|
</li>
|
|
)}
|
|
</Fragment>
|
|
);
|
|
})}
|
|
</ol>
|
|
);
|
|
}
|