From 0fbb85b1385a3de2150cff024e4faf78b87b52ee Mon Sep 17 00:00:00 2001 From: dragonwocky Date: Fri, 30 Dec 2022 22:15:14 +1100 Subject: [PATCH] chore: use utility classes for menu modal --- src/api/interface.js | 53 +--------------------------------------- src/core/client.css | 32 ------------------------ src/core/client.mjs | 26 ++++++++++++++------ src/core/menu/index.html | 23 +++-------------- src/core/mod.json | 2 +- src/worker.js | 15 ++++++------ 6 files changed, 31 insertions(+), 120 deletions(-) delete mode 100644 src/core/client.css diff --git a/src/api/interface.js b/src/api/interface.js index 3a309ca..a302ced 100644 --- a/src/api/interface.js +++ b/src/api/interface.js @@ -43,58 +43,6 @@ const encodeSvg = (svg) => .replace(/\s+/g, " "); twind.install({ - theme: { - fontFamily: { - sans: ["var(--theme--font-sans)"], - mono: ["var(--theme--font-code)"], - }, - colors: { - "fg-primary": "var(--theme--fg-primary)", - "fg-secondary": "var(--theme--fg-secondary)", - "fg-border": "var(--theme--fg-border)", - "fg-gray": "var(--theme--fg-gray)", - "fg-brown": "var(--theme--fg-brown)", - "fg-orange": "var(--theme--fg-orange)", - "fg-yellow": "var(--theme--fg-yellow)", - "fg-green": "var(--theme--fg-green)", - "fg-blue": "var(--theme--fg-blue)", - "fg-purple": "var(--theme--fg-purple)", - "fg-pink": "var(--theme--fg-pink)", - "fg-red": "var(--theme--fg-red)", - "bg-primary": "var(--theme--bg-primary)", - "bg-secondary": "var(--theme--bg-secondary)", - "bg-overlay": "var(--theme--bg-overlay)", - "bg-hover": "var(--theme--bg-hover)", - "bg-light_gray": "var(--theme--bg-light_gray)", - "bg-gray": "var(--theme--bg-gray)", - "bg-brown": "var(--theme--bg-brown)", - "bg-orange": "var(--theme--bg-orange)", - "bg-yellow": "var(--theme--bg-yellow)", - "bg-green": "var(--theme--bg-green)", - "bg-blue": "var(--theme--bg-blue)", - "bg-purple": "var(--theme--bg-purple)", - "bg-pink": "var(--theme--bg-pink)", - "bg-red": "var(--theme--bg-red)", - "dim-light_gray": "var(--theme--dim-light_gray)", - "dim-gray": "var(--theme--dim-gray)", - "dim-brown": "var(--theme--dim-brown)", - "dim-orange": "var(--theme--dim-orange)", - "dim-yellow": "var(--theme--dim-yellow)", - "dim-green": "var(--theme--dim-green)", - "dim-blue": "var(--theme--dim-blue)", - "dim-purple": "var(--theme--dim-purple)", - "dim-pink": "var(--theme--dim-pink)", - "dim-red": "var(--theme--dim-red)", - "accent-primary": "var(--theme--accent-primary)", - "accent-primary_hover": "var(--theme--accent-primary_hover)", - "accent-primary_contrast": "var(--theme--accent-primary_contrast)", - "accent-primary_transparent": "var(--theme--accent-primary_transparent)", - "accent-secondary": "var(--theme--accent-secondary)", - "accent-secondary_contrast": "var(--theme--accent-secondary_contrast)", - "accent-secondary_transparent": - "var(--theme--accent-secondary_transparent)", - }, - }, rules: [ [ /^i-((?:\w|-)+)(?:\?(mask|bg|auto))?$/, @@ -133,6 +81,7 @@ twind.install({ }, ], ], + variants: [["open", "&[open]"]], }); // construct elements via tagged tagged diff --git a/src/core/client.css b/src/core/client.css deleted file mode 100644 index c2a37b6..0000000 --- a/src/core/client.css +++ /dev/null @@ -1,32 +0,0 @@ -/** - * notion-enhancer - * (c) 2022 dragonwocky (https://dragonwocky.me/) - * (https://notion-enhancer.github.io/) under the MIT license - */ - -@import url("./variables.css"); - -.notion-enhancer--menu-modal[data-open="true"] { - pointer-events: auto; - opacity: 1; -} -.notion-enhancer--menu-modal > :nth-child(2) > iframe { - background: var(--theme--bg-secondary); - box-shadow: rgba(15, 15, 15, 0.1) 0px 0px 0px 1px, - rgba(15, 15, 15, 0.2) 0px 5px 10px, rgba(15, 15, 15, 0.4) 0px 15px 40px; - border-radius: 5px; - width: 1150px; - height: calc(100vh - 100px); - max-width: calc(100vw - 100px); - max-height: 715px; - overflow: hidden; - opacity: 0; - transform: scale(0.95); - transition: opacity 100ms ease-in, transform 0s ease-in 200ms; -} -.notion-enhancer--menu-modal[data-open="true"] > :nth-child(2) > iframe { - pointer-events: auto; - opacity: 1; - transform: scale(1); - transition: transform 80ms ease-in; -} diff --git a/src/core/client.mjs b/src/core/client.mjs index f4a3377..7877d9d 100644 --- a/src/core/client.mjs +++ b/src/core/client.mjs @@ -43,23 +43,33 @@ export default async (api, db) => { $menuFrame.contentWindow.postMessage(msg, "*"); }, openMenu = () => { - if (!$menuFrame) return; - setTheme(); - $menuModal.setAttribute("data-open", true); + if ($menuFrame) setTheme(); + $menuModal?.setAttribute("open", true); }, - closeMenu = () => $menuModal.removeAttribute("data-open"); + closeMenu = () => $menuModal.removeAttribute("open"); $menuFrame = html``; $menuModal = html`
-
+
{ class="notion-enhancer--menu-button flex select-none cursor-pointer rounded-[3px] text-[14px] my-px mx-[4px] py-[2px] px-[10px] - transition hover:bg-bg-hover" + transition hover:bg-[color:var(--theme--bg-hover)]" >
- notion-enhancer menu - - -

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

-

lorem ipsum

- + + diff --git a/src/core/mod.json b/src/core/mod.json index 4398599..f8c25ae 100644 --- a/src/core/mod.json +++ b/src/core/mod.json @@ -56,7 +56,7 @@ "value": false } ], - "clientStyles": ["client.css", "variables.css"], + "clientStyles": ["variables.css"], "clientScripts": ["client.mjs"], "electronScripts": [] } diff --git a/src/worker.js b/src/worker.js index dcfa9b9..818dd15 100644 --- a/src/worker.js +++ b/src/worker.js @@ -25,16 +25,15 @@ const tabQueue = new Set(), message: "open-menu", }); } else tabQueue.add(tab.id); + }, + reloadNotionTabs = async () => { + const openTabs = await chrome.tabs.query({ + windowId: chrome.windows.WINDOW_ID_CURRENT, + }), + notionTabs = openTabs.filter(isNotionTab); + notionTabs.forEach((tab) => chrome.tabs.reload(tab.id)); }; -const reloadNotionTabs = async () => { - const openTabs = await chrome.tabs.query({ - windowId: chrome.windows.WINDOW_ID_CURRENT, - }), - notionTabs = openTabs.filter(isNotionTab); - notionTabs.forEach((tab) => chrome.tabs.reload(tab.id)); -}; - chrome.action.onClicked.addListener(openEnhancerMenu); chrome.runtime.onMessage.addListener((msg, sender) => { if (msg?.channel !== "notion-enhancer") return;