diff --git a/scripts/patch-desktop-app.mjs b/scripts/patch-desktop-app.mjs
index fefc114..9ed3cd5 100755
--- a/scripts/patch-desktop-app.mjs
+++ b/scripts/patch-desktop-app.mjs
@@ -18,7 +18,11 @@ const injectTriggerOnce = (scriptId, scriptContent) =>
: "");
const mainScript = ".webpack/main/index",
- rendererScript = ".webpack/renderer/tab_browser_view/preload",
+ rendererScripts = [
+ ".webpack/renderer/tab_browser_view/preload",
+ ".webpack/renderer/draggable_tabs/preload",
+ ".webpack/renderer/tabs/preload",
+ ],
patches = {
[mainScript]: (scriptContent) => {
scriptContent = injectTriggerOnce(mainScript, scriptContent);
@@ -35,7 +39,7 @@ const mainScript = ".webpack/main/index",
// restore node integration in the renderer process
// so the notion-enhancer can be require()-d into it
- replace("spellcheck:!0,sandbox:!0", "spellcheck:!0,nodeIntegration:true");
+ replace(/sandbox:!0/g, `sandbox:!1,nodeIntegration:!0,session:require('electron').session.fromPartition("persist:notion")`);
// bypass webRequest filter to load enhancer menu
replace("r.top!==r?t({cancel:!0})", "r.top!==r?t({})");
@@ -67,8 +71,10 @@ const mainScript = ".webpack/main/index",
return scriptContent;
},
- [rendererScript]: (scriptContent) =>
- injectTriggerOnce(rendererScript, scriptContent),
+ ["*"]: (scriptId, scriptContent) => {
+ if (!rendererScripts.includes(scriptId)) return scriptContent;
+ return injectTriggerOnce(scriptId, scriptContent);
+ },
};
export default (scriptId, scriptContent) => {
diff --git a/src/_assets/colour-x128.png b/src/assets/colour-x128.png
similarity index 100%
rename from src/_assets/colour-x128.png
rename to src/assets/colour-x128.png
diff --git a/src/_assets/colour-x16.png b/src/assets/colour-x16.png
similarity index 100%
rename from src/_assets/colour-x16.png
rename to src/assets/colour-x16.png
diff --git a/src/_assets/colour-x256.png b/src/assets/colour-x256.png
similarity index 100%
rename from src/_assets/colour-x256.png
rename to src/assets/colour-x256.png
diff --git a/src/_assets/colour-x32.png b/src/assets/colour-x32.png
similarity index 100%
rename from src/_assets/colour-x32.png
rename to src/assets/colour-x32.png
diff --git a/src/_assets/colour-x48.png b/src/assets/colour-x48.png
similarity index 100%
rename from src/_assets/colour-x48.png
rename to src/assets/colour-x48.png
diff --git a/src/_assets/colour-x512.png b/src/assets/colour-x512.png
similarity index 100%
rename from src/_assets/colour-x512.png
rename to src/assets/colour-x512.png
diff --git a/src/_assets/colour-x64.png b/src/assets/colour-x64.png
similarity index 100%
rename from src/_assets/colour-x64.png
rename to src/assets/colour-x64.png
diff --git a/src/_assets/icons.svg.js b/src/assets/icons.svg.js
similarity index 100%
rename from src/_assets/icons.svg.js
rename to src/assets/icons.svg.js
diff --git a/src/_common/events.js b/src/common/events.js
similarity index 100%
rename from src/_common/events.js
rename to src/common/events.js
diff --git a/src/_common/markup.js b/src/common/markup.js
similarity index 100%
rename from src/_common/markup.js
rename to src/common/markup.js
diff --git a/src/_common/notion.js b/src/common/notion.js
similarity index 100%
rename from src/_common/notion.js
rename to src/common/notion.js
diff --git a/src/_common/registry.js b/src/common/registry.js
similarity index 100%
rename from src/_common/registry.js
rename to src/common/registry.js
diff --git a/src/_common/system.js b/src/common/system.js
similarity index 100%
rename from src/_common/system.js
rename to src/common/system.js
diff --git a/src/core/client.mjs b/src/core/client.mjs
index 5007881..d4c2a50 100644
--- a/src/core/client.mjs
+++ b/src/core/client.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
import { checkForUpdate } from "./updateCheck.mjs";
import { sendTelemetryPing } from "./sendTelemetry.mjs";
import { Modal, Frame } from "./islands/Modal.mjs";
diff --git a/src/core/electron.cjs b/src/core/electron.cjs
index 14b24ef..6ae65c4 100644
--- a/src/core/electron.cjs
+++ b/src/core/electron.cjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
const getPreference = (key) => {
const { preferences = {} } = globalThis.__notionStore?.getState()?.app;
return preferences[key];
diff --git a/src/core/islands/MenuButton.mjs b/src/core/islands/MenuButton.mjs
index f3b2501..b98690c 100644
--- a/src/core/islands/MenuButton.mjs
+++ b/src/core/islands/MenuButton.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function MenuButton(
{ icon, notifications, themeOverridesLoaded, ...props },
...children
diff --git a/src/core/islands/Modal.mjs b/src/core/islands/Modal.mjs
index 6ce9f48..62c1f7a 100644
--- a/src/core/islands/Modal.mjs
+++ b/src/core/islands/Modal.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function Modal(props, ...children) {
const { html, extendProps, addKeyListener } = globalThis.__enhancerApi;
extendProps(props, {
diff --git a/src/core/islands/Panel.mjs b/src/core/islands/Panel.mjs
index 40a8b01..64512a1 100644
--- a/src/core/islands/Panel.mjs
+++ b/src/core/islands/Panel.mjs
@@ -5,6 +5,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
import { Tooltip } from "./Tooltip.mjs";
import { TopbarButton } from "./TopbarButton.mjs";
import { Select } from "../menu/islands/Select.mjs";
diff --git a/src/core/islands/Tooltip.mjs b/src/core/islands/Tooltip.mjs
index fe6b355..34d94e0 100644
--- a/src/core/islands/Tooltip.mjs
+++ b/src/core/islands/Tooltip.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function Tooltip(props, ...children) {
const { html, extendProps } = globalThis.__enhancerApi;
extendProps(props, {
diff --git a/src/core/islands/TopbarButton.mjs b/src/core/islands/TopbarButton.mjs
index 537d006..27bd018 100644
--- a/src/core/islands/TopbarButton.mjs
+++ b/src/core/islands/TopbarButton.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function TopbarButton({ icon, ...props }) {
const { html, extendProps, addMutationListener } = globalThis.__enhancerApi;
extendProps(props, {
@@ -16,20 +18,20 @@ function TopbarButton({ icon, ...props }) {
&[data-active]:bg-[color:var(--theme--bg-hover)]`,
});
- const notionTopbar = ".notion-topbar-favorite-button",
+ const topbarFavorite = ".notion-topbar-favorite-button",
$button = html``,
- addToTopbar = () => {
+ addToTopbar = (after = topbarFavorite) => {
if (document.contains($button)) return;
- document.querySelector(notionTopbar)?.after($button);
+ document.querySelector(after)?.after($button);
};
- $button.addToTopbar = () => {
- addToTopbar();
- addMutationListener(notionTopbar, addToTopbar);
+ $button.addToTopbar = (after = topbarFavorite) => {
+ addMutationListener(after, () => addToTopbar(after));
+ addToTopbar(after);
};
return $button;
}
diff --git a/src/core/menu/index.html b/src/core/menu/index.html
index b5ed36e..9f81db7 100644
--- a/src/core/menu/index.html
+++ b/src/core/menu/index.html
@@ -6,8 +6,8 @@
notion-enhancer menu
-
-
+
+
diff --git a/src/core/menu/islands/Banner.mjs b/src/core/menu/islands/Banner.mjs
index 246ae44..ffcda2e 100644
--- a/src/core/menu/islands/Banner.mjs
+++ b/src/core/menu/islands/Banner.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
import { Popup } from "./Popup.mjs";
import { Button } from "./Button.mjs";
import { Description } from "./Description.mjs";
diff --git a/src/core/menu/islands/Button.mjs b/src/core/menu/islands/Button.mjs
index 42ac31d..58c2281 100644
--- a/src/core/menu/islands/Button.mjs
+++ b/src/core/menu/islands/Button.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function Button({ icon, variant, tagName, ...props }, ...children) {
const { html, extendProps } = globalThis.__enhancerApi;
extendProps(props, {
diff --git a/src/core/menu/islands/Checkbox.mjs b/src/core/menu/islands/Checkbox.mjs
index c101ddf..5784a5a 100644
--- a/src/core/menu/islands/Checkbox.mjs
+++ b/src/core/menu/islands/Checkbox.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function Checkbox({ _get, _set, _requireReload = true, ...props }) {
let _initialValue;
const { html, extendProps, setState, useState } = globalThis.__enhancerApi,
diff --git a/src/core/menu/islands/Description.mjs b/src/core/menu/islands/Description.mjs
index 8c2757b..2d87478 100644
--- a/src/core/menu/islands/Description.mjs
+++ b/src/core/menu/islands/Description.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
function Description(props, ...children) {
const { html, extendProps } = globalThis.__enhancerApi;
extendProps(props, {
diff --git a/src/core/menu/islands/Footer.mjs b/src/core/menu/islands/Footer.mjs
index e22df9e..866a13f 100644
--- a/src/core/menu/islands/Footer.mjs
+++ b/src/core/menu/islands/Footer.mjs
@@ -4,6 +4,8 @@
* (https://notion-enhancer.github.io/) under the MIT license
*/
+"use strict";
+
import { Button } from "./Button.mjs";
function Footer({ categories }) {
@@ -30,7 +32,7 @@ function Footer({ categories }) {
});
useState(["view"], ([view]) => {
- let footerOpen = $reload.style.display !== "none";
+ let [footerOpen] = useState(["databaseUpdated"]);
for (const [ids, $btn] of $categories) {
const modInCategory = ids.some((id) => id === view);
if (modInCategory) footerOpen = true;
@@ -40,7 +42,7 @@ function Footer({ categories }) {
});
useState(["databaseUpdated"], ([databaseUpdated]) => {
$reload.style.display = databaseUpdated ? "" : "none";
- setState({ footerOpen: true });
+ if (databaseUpdated) setState({ footerOpen: true });
});
return html`