From 6ede9f157e42de3e655882667a38856c2ffb9aef Mon Sep 17 00:00:00 2001 From: Fedor Katurov Date: Fri, 11 Oct 2024 17:28:45 +0700 Subject: [PATCH] remove chrome storage --- src/utils/hydrate.ts | 60 ++++++++------------------------------------ src/utils/index.ts | 59 ------------------------------------------- src/utils/storage.ts | 3 --- 3 files changed, 10 insertions(+), 112 deletions(-) delete mode 100644 src/utils/index.ts diff --git a/src/utils/hydrate.ts b/src/utils/hydrate.ts index 1a9c1ee..9ba84d9 100644 --- a/src/utils/hydrate.ts +++ b/src/utils/hydrate.ts @@ -1,6 +1,6 @@ import { SerializedDockview } from "dockview"; import { SettingsValue } from "~/modules/settings/context/SettingsContext"; -import { hasBrowserStorage, hasChromeStorage } from "~/utils/storage"; +import { hasBrowserStorage } from "~/utils/storage"; interface Result { layout: SerializedDockview; @@ -43,35 +43,6 @@ const getFromBrowserStorage = async (): Promise => { }; }; -const getFromChromeStorage = async (): Promise => { - const result = await chrome.storage.sync.get(); - const layout = result[layoutKey] as SerializedDockview | undefined; - - if (!layout) { - return null; - } - - const panels = Object.keys(layout.panels).reduce( - (acc, uuid) => ({ - ...acc, - [uuid]: (result[makePanelKey(uuid)] as string) ?? "", - }), - {} as Record - ); - - const settings = - typeof result[settingsKey] === "object" && - Object.keys(result[settingsKey]).length - ? result[settingsKey] - : {}; - - return { - layout, - panels, - settings, - }; -}; - const getFromLocalStorage = () => { const rawLayout = localStorage.getItem(layoutKey); @@ -121,10 +92,6 @@ export const hydrateLayout = async (): Promise => { return getFromBrowserStorage(); } - if (hasChromeStorage()) { - return getFromChromeStorage(); - } - return null; }; @@ -132,37 +99,30 @@ export const storeLayoutLocally = (layout: SerializedDockview) => localStorage.setItem(layoutKey, JSON.stringify(layout)); export const storeLayoutInSync = (layout: SerializedDockview) => { - if (hasBrowserStorage()) { - return browser.storage.sync.set({ [layoutKey]: layout }); + if (!hasBrowserStorage()) { + return; } - if (hasChromeStorage()) { - return chrome.storage.sync.set({ [layoutKey]: layout }); - } + return browser.storage.sync.set({ [layoutKey]: layout }); }; export const storePanelLocally = (uuid: string, value: string) => localStorage.setItem(`${panelPrefix}${uuid}`, value); export const storePanelInSync = (uuid: string, value: string) => { - if (hasBrowserStorage()) { - return browser.storage.sync.set({ [`${panelPrefix}${uuid}`]: value }); + if (!hasBrowserStorage()) { + return; } - if (hasChromeStorage()) { - return chrome.storage.sync.set({ [`${panelPrefix}${uuid}`]: value }); - } + return browser.storage.sync.set({ [`${panelPrefix}${uuid}`]: value }); }; export const storeSettingsLocally = (settings: Partial) => localStorage.setItem(settingsKey, JSON.stringify(settings)); export const storeSettingsInSync = (settings: Partial) => { - if (hasBrowserStorage()) { - return browser.storage.sync.set({ [settingsKey]: settings }); - } - - if (hasChromeStorage()) { - return chrome.storage.sync.set({ [settingsKey]: settings }); + if (!hasBrowserStorage()) { + return; } + return browser.storage.sync.set({ [settingsKey]: settings }); }; diff --git a/src/utils/index.ts b/src/utils/index.ts deleted file mode 100644 index 8077ba2..0000000 --- a/src/utils/index.ts +++ /dev/null @@ -1,59 +0,0 @@ -import { hasBrowserStorage, hasChromeStorage } from "./storage"; - -export class BrowserSyncStorage { - constructor(private globalPrefix = "") {} - - get engine() { - if (hasBrowserStorage()) { - return "browser"; - } else if (hasChromeStorage()) { - return "chrome"; - } - - return "local"; - } - - makeKey = (key: string) => `${this.globalPrefix}${key}`; - - set = async (key: string, value: T) => { - switch (this.engine) { - case "browser": - await browser.storage.sync.set({ [this.makeKey(key)]: value }); - return; - case "chrome": - await chrome.storage.sync.set({ [this.makeKey(key)]: value }); - return; - default: - localStorage.setItem(this.makeKey(key), JSON.stringify(value)); - return; - } - }; - - get = async (key: string): Promise => { - if (this.engine === "browser") { - const value = await browser.storage.sync - .get([this.makeKey(key)]) - .then((result) => result[this.makeKey(key)] as T | undefined); - - if (value) { - return value; - } - } else if (this.engine === "chrome") { - const value = await chrome.storage.sync - .get(this.makeKey(key)) - .then((result) => result[this.makeKey(key)] as T | undefined); - - if (value) { - return value; - } - } - - try { - const value = localStorage.getItem(this.makeKey(key)); - return value ? (JSON.parse(value) as T) : undefined; - } catch (e) { - console.log(e); - return undefined; - } - }; -} diff --git a/src/utils/storage.ts b/src/utils/storage.ts index fea534d..fe10d7f 100644 --- a/src/utils/storage.ts +++ b/src/utils/storage.ts @@ -1,5 +1,2 @@ export const hasBrowserStorage = () => typeof browser !== "undefined" && browser?.storage; - -export const hasChromeStorage = () => - typeof chrome !== "undefined" && chrome?.storage;