Files
Epicure/apps/web/lib/notification-links.ts
Arnaud 913410dbf3 feat: notifications inbox page
The bell only ever showed the last 30; add a full paginated /notifications
page, per-notification mark-read, and a shared notificationHref helper so
the bell and the page route identically instead of duplicating the logic.

Co-Authored-By: Claude Sonnet 5 <noreply@anthropic.com>
2026-07-10 07:57:17 +02:00

16 lines
594 B
TypeScript

export type NotificationType = "follow" | "comment" | "reply" | "reaction" | "rating" | "mention";
export type NotificationLinkable = {
type: NotificationType;
recipeId: string | null;
actorUsername: string | null;
};
/** Where clicking a notification should navigate to. Shared by the bell dropdown
* and the full notifications page so the two never drift apart. */
export function notificationHref(n: NotificationLinkable): string {
if (n.type === "follow") return n.actorUsername ? `/u/${n.actorUsername}` : "#";
if (n.recipeId) return `/recipes/${n.recipeId}`;
return "#";
}