mirror of
https://github.com/Drop-OSS/drop.git
synced 2025-11-22 12:41:10 +10:00
17 lines
497 B
TypeScript
17 lines
497 B
TypeScript
import type { SerializeObject } from "nitropack";
|
|
import type { NotificationModel } from "~/prisma/client/models";
|
|
|
|
const ws = new WebSocketHandler("/api/v1/notifications/ws");
|
|
|
|
export const useNotifications = () =>
|
|
useState<Array<SerializeObject<NotificationModel>>>(
|
|
"notifications",
|
|
() => [],
|
|
);
|
|
|
|
ws.listen((e) => {
|
|
const notification = JSON.parse(e) as SerializeObject<NotificationModel>;
|
|
const notifications = useNotifications();
|
|
notifications.value.push(notification);
|
|
});
|