summaryrefslogtreecommitdiff
path: root/gui/src/types/notifications.ts
blob: 4d0bd3ff3c93b2eda1404d8c261ff732ae44a824 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
import type { Ship } from "./urbit";

export type NotificationType =
  | "follow"
  | "unfollow"
  | "mention"
  | "reply"
  | "repost"
  | "react"
  | "access_request"
  | "access_granted"
  | "fetching_nostr"
  | "nostr_fetch_success";

export interface Notification {
  id: string;
  type: NotificationType;
  from: Ship | string; // Ship for Urbit users, string for Nostr pubkeys
  timestamp: Date;
  read: boolean;
  // Optional context data
  postId?: string;
  message?: string;
  reaction?: string;
}

export interface NotificationState {
  notifications: Notification[];
  unreadCount: number;
}