Bell with a modal list
Pass a count for the badge and a title for the modal header. Everything inside children is the modal body — map your own notifications into whatever markup fits. Close it with the button, Escape, or a click on the backdrop; focus returns to the bell.
const notifications = [
{ id: 1, who: 'Ava', text: 'mentioned you in Design Review', when: '2m' },
{ id: 2, who: 'Build', text: 'pipeline #418 passed', when: '14m' },
{ id: 3, who: 'Noah', text: 'requested your review', when: '1h' },
];
<NotificationBell count={notifications.length} title="Notifications">
<ul className="my-feed">
{notifications.map((n) => (
<li key={n.id} className="my-feed__row">
<strong>{n.who}</strong> {n.text}
<span className="my-feed__when">{n.when}</span>
</li>
))}
</ul>
</NotificationBell>