Files
crowd-funder-for-time-pwa/src/services/notifications/index.ts
Jose Olarte III 794b48f0d7 feat(notifications): add localStorage debug config for notification API base URL
Introduce NotificationDebugConfig so register/refresh use getNotificationApiBaseUrl()
(APP_SERVER by default, optional LAN/ngrok override) and configurable testMode without rebuilds.
2026-05-18 15:06:52 +08:00

52 lines
1.4 KiB
TypeScript

/**
* Notification Services Barrel Export
*
* Central export point for all notification-related services.
* Use this instead of importing from individual files.
*
* @example
* ```typescript
* import { NotificationService } from '@/services/notifications';
*
* const service = NotificationService.getInstance();
* await service.scheduleDailyNotification({ ... });
* ```
*/
export {
getBackendBaseUrl,
getNotificationApiBaseUrl,
getTestMode,
normalizeNotificationBackendUrl,
setBackendBaseUrl,
setTestMode,
} from "./NotificationDebugConfig";
export { NotificationService, registerToken } from "./NotificationService";
export { NativeNotificationService } from "./NativeNotificationService";
export { WebPushNotificationService } from "./WebPushNotificationService";
export { configureNativeFetcherIfReady } from "./nativeFetcherConfig";
export {
ensureFirebaseApp,
initializeNativePushAndFirebaseMessaging,
} from "./firebaseMessagingClient";
export { syncStarredPlansToNativePlugin } from "./syncStarredPlansToNativePlugin";
export {
buildDualScheduleConfig,
timeToCron,
timeToCronFiveMinutesBefore,
} from "./dualScheduleConfig";
export type { DualScheduleConfigInput } from "./dualScheduleConfig";
export {
REMINDER_ID_DAILY_REMINDER,
REMINDER_ID_NEW_ACTIVITY,
} from "./reminderIds";
export type {
NotificationServiceInterface,
DailyNotificationOptions,
NotificationStatus,
PermissionStatus,
} from "./NotificationService";