Components
Notification Panel
Notification Panel
A collapsible notification panel displaying recent alerts with icons, timestamps, and smooth animated transitions.
4 New Notifications
Recent notifications
Installation
1
Install the packages
npm i motion react-icons clsx tailwind-merge
2
Add util file
lib/util.ts
import { ClassValue, clsx } from "clsx";
import { twMerge } from "tailwind-merge";
export function cn(...inputs: ClassValue[]) {
return twMerge(clsx(inputs));
}
import { 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
notification-panel.tsx
Get Access with Pro
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;
}
}
Loading...
4
Update the import paths to match your project setup
Props
Prop | Type | Default | Description |
---|---|---|---|
notifications | Notification[] | defaultNotifications | Array of notification objects to render inside the panel. Each object in the array must include the following fields: |
notifications[].id | string | "maintenance" | Unique identifier for the notification (used as key). |
notifications[].icon | React.ReactNode | <FaTools className='h-5 w-5' /> | Icon component displayed inside the notification card. |
notifications[].title | string | "Scheduled Downtime" | Title displayed as the main label of the notification. |
notifications[].description | string | "Servers will be offline tonight at 11 PM." | Short description or message displayed under the title. |
notifications[].timestamp | string | "5 min ago" | Relative time or timestamp displayed on the right side of the notification. |