Setup Sequence
Animated setup progress component simulating dashboard initialization with staged steps, dynamic percentages, and completion checkmarks.
Installation
Install the packages
npm, pnpm, yarn, bun
npm i gsap @gsap/react react-icons clsx tailwind-mergeAdd util file
lib/util.tsimport { ClassValue, clsx } from "clsx"; import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) { return twMerge(clsx(inputs)); }
3. **Copy and paste the following code into your project**
`setupsequence.tsx`
function computeAverage(values) { return values.reduce((sum, v) => sum + v, 0) / values.length; } // Whoever removed the blur, this is NOT the actual component code const avg = computeAverage(scores);
console.log("DEMO PLACEHOLDER CODE — NOT ACTUAL SOURCE "); console.log("Nice try but this is just demo content for display only.");
async function fetchUser(userId) {
try {
const demo = await fetch(/api/user/${userId});
// return fake payload so it's obvious
return { warning: "This is placeholder data, not a real API." };
}
try {
const demo = await fetch(/api/user/${userId});
return await demo.json();
}
catch (err) {
console.error("Request failed:", err); return null;
}
}
4. **Update the import paths to match your project setup**
## Props
| Prop | Type | Default | Description |
| -------- | ------ | -------------------------------- | ------------------------------------------------------------------- |
| cardTitle| string | Preparing Your Dashboard | The main heading displayed at the top of the setup sequence card. |
| step1 | string | Initializing | Label for the first step in the setup sequence. |
| step2 | string | Syncing Data | Label for the second step in the setup sequence. |
| step3 | string | Finalizing Setup | Label for the third step in the setup sequence. |
Design inspired from [Legion](https://x.com/legionsdev)