refactor notifications popover to include unread count, mark all as read button, and loading state
```
This commit is contained in:
louiscklaw
2025-05-12 13:10:19 +08:00
parent 1a77c3a5e8
commit cf70e2af21
8 changed files with 224 additions and 23 deletions

View File

@@ -0,0 +1,20 @@
//
// RULES:
// api method for get notifications by user id
import { COL_NOTIFICATIONS } from '@/constants';
import { pb } from '@/lib/pb';
import type { Notification } from './type.d';
export async function getUnreadNotificationsByUserId(userId: string): Promise<Notification[]> {
const records = await pb.collection(COL_NOTIFICATIONS).getFullList({
expand: 'author, to_user_id',
filter: `to_user_id.id = "${userId}" && read = false`,
sort: '-created',
cache: 'no-cache',
requestKey: null,
});
return records as unknown as Notification[];
}