From 3976e2dd9bf76dccf647776d533c2f6450b4fb50 Mon Sep 17 00:00:00 2001 From: Todd Riley Date: Mon, 15 Sep 2025 11:45:56 -0400 Subject: [PATCH 1/2] Hide the overtype wrapper when the preview tab is active. --- .../src/lib/enhancers/modifyDOM.ts | 18 ++++++++++++++++++ 1 file changed, 18 insertions(+) diff --git a/browser-extension/src/lib/enhancers/modifyDOM.ts b/browser-extension/src/lib/enhancers/modifyDOM.ts index f7daa7d..84d4b5d 100644 --- a/browser-extension/src/lib/enhancers/modifyDOM.ts +++ b/browser-extension/src/lib/enhancers/modifyDOM.ts @@ -26,5 +26,23 @@ export function modifyDOM(overtypeInput: HTMLTextAreaElement): HTMLElement { attributes: true, }) + // Find the button that contains the text "Preview" + const writePreviewTabs = Array.from( + (overtypeContainer.firstElementChild as HTMLElement).querySelectorAll('button'), + ) + const writeTab = writePreviewTabs.find((button) => button.textContent.includes('Write'))! + const previewTab = writePreviewTabs.find((button) => button.textContent.includes('Preview'))! + + if (writeTab && previewTab) { + // Hide the textarea when the user is on the "Preview" tab + writeTab.addEventListener('click', () => { + overtypeWrapper.style.display = 'inline-block' + }) + + previewTab.addEventListener('click', () => { + overtypeWrapper.style.display = 'none' + }) + } + return overtypeContainer.parentElement!.closest('div')! } From db8d03f6824aabb2d9fc9beb7760190d3a327bfc Mon Sep 17 00:00:00 2001 From: Todd Riley Date: Mon, 15 Sep 2025 12:16:48 -0400 Subject: [PATCH 2/2] Remove invalid non-null assertion. --- browser-extension/src/lib/enhancers/modifyDOM.ts | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/browser-extension/src/lib/enhancers/modifyDOM.ts b/browser-extension/src/lib/enhancers/modifyDOM.ts index 84d4b5d..640823a 100644 --- a/browser-extension/src/lib/enhancers/modifyDOM.ts +++ b/browser-extension/src/lib/enhancers/modifyDOM.ts @@ -30,8 +30,8 @@ export function modifyDOM(overtypeInput: HTMLTextAreaElement): HTMLElement { const writePreviewTabs = Array.from( (overtypeContainer.firstElementChild as HTMLElement).querySelectorAll('button'), ) - const writeTab = writePreviewTabs.find((button) => button.textContent.includes('Write'))! - const previewTab = writePreviewTabs.find((button) => button.textContent.includes('Preview'))! + const writeTab = writePreviewTabs.find((button) => button.textContent.includes('Write')) + const previewTab = writePreviewTabs.find((button) => button.textContent.includes('Preview')) if (writeTab && previewTab) { // Hide the textarea when the user is on the "Preview" tab