From 2d0af0b10cf58140a947837d4a2504417f357406 Mon Sep 17 00:00:00 2001 From: kamtschatka Date: Sun, 9 Jun 2024 12:23:26 +0200 Subject: feature(extension): Add a context menu to open your hoarder saves. Fixes #188 (#206) * Feature request: Browser extension "Open your Hoarder saves" #188 Adds a context menu entry when a hoarder instance is configured and removes it again, if it is not configured anymore * Feature request: Browser extension "Open your Hoarder saves" #188 moved storage related functions to settings.ts fixed issues with context menu registration * only fire callback when the settings change --------- Co-authored-by: kamtschatka Co-authored-by: MohamedBassem --- apps/browser-extension/src/utils/settings.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) (limited to 'apps/browser-extension/src/utils') diff --git a/apps/browser-extension/src/utils/settings.ts b/apps/browser-extension/src/utils/settings.ts index ef290555..76ff0f61 100644 --- a/apps/browser-extension/src/utils/settings.ts +++ b/apps/browser-extension/src/utils/settings.ts @@ -21,3 +21,14 @@ export default function usePluginSettings() { export async function getPluginSettings() { return (await chrome.storage.sync.get("settings")).settings as Settings; } + +export function subscribeToSettingsChanges( + callback: (settings: Settings) => void, +) { + chrome.storage.sync.onChanged.addListener((changes) => { + if (changes.settings === undefined) { + return; + } + callback(changes.settings.newValue as Settings); + }); +} -- cgit v1.2.3-70-g09d2