Browse Source
Nostr-Signature: 964e4a35978748cbbc5127daad5c8a0724b6df6f4342c5b0940dd16bc2e8262d 573634b648634cbad10f2451776089ea21090d9407f715e83c577b4611ae6edc f44401709ba7a5fdf988f149033d7aa9bd838e8d6b86cd6357d738e69fab405d0df70394910ceebdb22501518583280499320424a5e7b4999e91d1fb6a2b07b8main
9 changed files with 222 additions and 133 deletions
@ -0,0 +1,39 @@
@@ -0,0 +1,39 @@
|
||||
/** |
||||
* Client-side messaging preferences storage using IndexedDB |
||||
* This replaces the server-side in-memory storage |
||||
*/ |
||||
|
||||
import { settingsStore } from '../settings-store.js'; |
||||
import type { MessagingPreferences } from './preferences-types.js'; |
||||
|
||||
/** |
||||
* Store user messaging preferences in IndexedDB settings |
||||
*/ |
||||
export async function storePreferences( |
||||
preferences: MessagingPreferences |
||||
): Promise<void> { |
||||
await settingsStore.updateSettings({ messagingPreferences: preferences }); |
||||
} |
||||
|
||||
/** |
||||
* Retrieve user messaging preferences from IndexedDB |
||||
*/ |
||||
export async function getPreferences(): Promise<MessagingPreferences | null> { |
||||
const settings = await settingsStore.getSettings(); |
||||
return settings.messagingPreferences || null; |
||||
} |
||||
|
||||
/** |
||||
* Check if user has preferences configured |
||||
*/ |
||||
export async function hasPreferences(): Promise<boolean> { |
||||
const preferences = await getPreferences(); |
||||
return preferences !== null && preferences !== undefined; |
||||
} |
||||
|
||||
/** |
||||
* Delete user messaging preferences |
||||
*/ |
||||
export async function deletePreferences(): Promise<void> { |
||||
await settingsStore.updateSettings({ messagingPreferences: undefined }); |
||||
} |
||||
Loading…
Reference in new issue