docs: add comprehensive static daily reminders documentation

- Add static daily reminders to README.md core features and API reference
- Create detailed usage guide in USAGE.md with examples and best practices
- Add version 2.1.0 changelog entry documenting new reminder functionality
- Create examples/static-daily-reminders.ts with complete usage examples
- Update test-apps README to include reminder testing capabilities

The static daily reminder feature provides simple daily notifications
without network content dependency, supporting cross-platform scheduling
with rich customization options.
This commit is contained in:
Matthew Raymer
2025-10-05 05:12:06 +00:00
parent 9ec30974da
commit f9c21d4e5b
21 changed files with 2120 additions and 0 deletions

View File

@@ -103,6 +103,35 @@ export interface PermissionStatus {
carPlay?: boolean;
}
// Static Daily Reminder Interfaces
export interface DailyReminderOptions {
id: string;
title: string;
body: string;
time: string; // HH:mm format (e.g., "09:00")
sound?: boolean;
vibration?: boolean;
priority?: 'low' | 'normal' | 'high';
repeatDaily?: boolean;
timezone?: string;
}
export interface DailyReminderInfo {
id: string;
title: string;
body: string;
time: string;
sound: boolean;
vibration: boolean;
priority: 'low' | 'normal' | 'high';
repeatDaily: boolean;
timezone?: string;
isScheduled: boolean;
nextTriggerTime?: number;
createdAt: number;
lastTriggered?: number;
}
export type PermissionState = 'prompt' | 'prompt-with-rationale' | 'granted' | 'denied' | 'provisional' | 'ephemeral' | 'unknown';
// Additional interfaces for enhanced functionality
@@ -364,6 +393,28 @@ export interface DailyNotificationPlugin {
refreshAuthenticationForNewIdentity(activeDid: string): Promise<void>;
clearCacheForNewIdentity(): Promise<void>;
updateBackgroundTaskIdentity(activeDid: string): Promise<void>;
// Static Daily Reminder Methods
/**
* Schedule a simple daily reminder notification
* No network content required - just static text
*/
scheduleDailyReminder(options: DailyReminderOptions): Promise<void>;
/**
* Cancel a daily reminder notification
*/
cancelDailyReminder(reminderId: string): Promise<void>;
/**
* Get all scheduled daily reminders
*/
getScheduledReminders(): Promise<DailyReminderInfo[]>;
/**
* Update an existing daily reminder
*/
updateDailyReminder(reminderId: string, options: DailyReminderOptions): Promise<void>;
}
// Phase 1: TimeSafari Endorser.ch API Interfaces