frontend phase 14
This commit is contained in:
@@ -0,0 +1,27 @@
|
||||
/**
|
||||
* When true, the notifications domain is served by the in-memory mock (`apis/mockApi.ts`) behind the
|
||||
* `NotificationsApi` seam.
|
||||
*
|
||||
* **Mock is primary this phase.** The b1 endpoints are live and the real `clientApi.ts` maps them 1:1, but a
|
||||
* notification is only produced by other backend domains dispatching one (`INotificationDispatcher`) — none
|
||||
* of which run client-side while the upstream flows are mock-primary — so there'd be nothing to show. The
|
||||
* mock seeds a realistic **unread-first** feed spanning every deep-link class (booking / payment / ticket /
|
||||
* payout / review / refund) so `notificationDeepLink` is exercisable, and exposes a dev-only
|
||||
* `__mockPushNotification` to simulate a fresh notification arriving (the bell increments within the poll
|
||||
* interval — phase §7 step 4). Flip to `false` once the upstreams are real — no hook/component change.
|
||||
*/
|
||||
export const USE_NOTIFICATIONS_MOCK = true;
|
||||
|
||||
/** Notification-center page size (api-conventions `pageSize`). */
|
||||
export const NOTIFICATIONS_PAGE_SIZE = 20;
|
||||
|
||||
/**
|
||||
* **Poll politely.** Only the unread **count** revalidates on an interval (stale-while-revalidate): the
|
||||
* cached count is served instantly, refetched every `UNREAD_COUNT_REFETCH_INTERVAL` and on window focus, and
|
||||
* treated fresh for `UNREAD_COUNT_STALE_TIME` so we never hammer the endpoint. The **list is not polled** —
|
||||
* only its own reads/mutations refetch it.
|
||||
*/
|
||||
export const UNREAD_COUNT_STALE_TIME = 45 * 1000;
|
||||
export const UNREAD_COUNT_REFETCH_INTERVAL = 60 * 1000;
|
||||
export const NOTIFICATIONS_LIST_STALE_TIME = 30 * 1000;
|
||||
export const NOTIFICATIONS_GC_TIME = 5 * 60 * 1000;
|
||||
Reference in New Issue
Block a user