diff --git a/src/api/electron.cjs b/src/api/electron.cjs
index b9efeec..a8364de 100644
--- a/src/api/electron.cjs
+++ b/src/api/electron.cjs
@@ -75,28 +75,30 @@ const initDatabase = (namespace, fallbacks = {}) => {
});
return {
+ // wrap methods in promises for consistency w/ chrome.storage
get: (key) => {
const fallback = fallbacks[key];
key = key.startsWith(namespace) ? key : namespace + key;
try {
- return JSON.parse(select.get(key)?.value);
- } catch {
- return select.get(key)?.value ?? fallback;
- }
+ const value = JSON.parse(select.get(key)?.value);
+ return Promise.resolve(value ?? fallback);
+ } catch {}
+ return Promise.resolve(fallback);
},
set: (key, value) => {
key = key.startsWith(namespace) ? key : namespace + key;
value = JSON.stringify(value);
- return select.get(key) === undefined
- ? insert.run(key, value)
- : update.run(value, key);
+ if (select.get(key) === undefined) {
+ insert.run(key, value);
+ } else update.run(value, key);
+ return Promise.resolve(true);
},
dump: () => {
const entries = dump
.all()
.map(({ key, value }) => [key, value])
.filter(([key]) => key.startsWith(namespace));
- return Object.fromEntries(entries);
+ return Promise.resolve(Object.fromEntries(entries));
},
populate,
};
diff --git a/src/api/interface.js b/src/api/interface.js
index fab4eb2..c67db69 100644
--- a/src/api/interface.js
+++ b/src/api/interface.js
@@ -7,13 +7,7 @@
"use strict";
const { twind, htm } = globalThis,
- { readFile } = globalThis.__enhancerApi;
-
-let iconColour, iconMonochrome;
-(async () => {
- iconColour = await readFile("/assets/colour.svg");
- iconMonochrome = await readFile("/assets/monochrome.svg");
-})();
+ { readFile, iconColour, iconMonochrome } = globalThis.__enhancerApi;
const kebabToPascalCase = (string) =>
string[0].toUpperCase() +
@@ -56,6 +50,7 @@ const encodeSvg = (svg) =>
svg = hToString(type, props, ...children);
}
// https://antfu.me/posts/icons-in-pure-css
+ if (!svg) console.log(icon);
const dataUri = `url("data:image/svg+xml;utf8,${encodeSvg(svg)}")`;
if (mode === "auto") mode = undefined;
mode ??= svg.includes("currentColor") ? "mask" : "bg";
diff --git a/src/assets/colour.svg b/src/assets/colour.svg
deleted file mode 100644
index 5b3c685..0000000
--- a/src/assets/colour.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/assets/icons.svg.js b/src/assets/icons.svg.js
new file mode 100644
index 0000000..108cece
--- /dev/null
+++ b/src/assets/icons.svg.js
@@ -0,0 +1,12 @@
+/**
+ * notion-enhancer
+ * (c) 2023 dragonwocky (https://dragonwocky.me/)
+ * (https://notion-enhancer.github.io/) under the MIT license
+ */
+
+const iconColour = ``;
+
+const iconMonochrome = ``;
+
+globalThis.__enhancerApi ??= {};
+Object.assign(globalThis.__enhancerApi, { iconColour, iconMonochrome });
diff --git a/src/assets/monochrome.svg b/src/assets/monochrome.svg
deleted file mode 100644
index c963a36..0000000
--- a/src/assets/monochrome.svg
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/src/core/menu/components.mjs b/src/core/menu/components.mjs
index ccc6a12..edd15e2 100644
--- a/src/core/menu/components.mjs
+++ b/src/core/menu/components.mjs
@@ -538,8 +538,8 @@ function Toggle({ _get, _set, ...props }) {
transition duration-200 bg-[color:var(--theme--bg-hover)]"
>