diff --git a/src/SEQTA.ts b/src/SEQTA.ts index de3586f5..8c3b0bb0 100644 --- a/src/SEQTA.ts +++ b/src/SEQTA.ts @@ -859,25 +859,29 @@ async function CheckLoadOnPeriods() { } export function closeSettings() { - var extensionsettings = document.getElementById('ExtensionPopup'); + const ExtensionSettings = document.getElementById('ExtensionPopup')!; + const ExtensionIframe = document.getElementById('ExtensionIframe') as HTMLIFrameElement; if (SettingsClicked == true) { - extensionsettings.classList.add('hide'); + ExtensionSettings.classList.add('hide'); animate( '#ExtensionPopup', { opacity: [1, 0], scale: [1, 0] }, { easing: spring({ stiffness: 220, damping: 18 }) } ); SettingsClicked = false; - document.getElementById('ExtensionIframe').contentWindow.postMessage('popupClosed', '*'); + + if (ExtensionIframe.contentWindow) { + ExtensionIframe.contentWindow.postMessage('popupClosed', '*'); + } } - extensionsettings.classList.add('hide'); + ExtensionSettings.classList.add('hide'); } function addExtensionSettings() { const link = GetCSSElement('interface/popup.css'); - document.querySelector('html').appendChild(link); + document.querySelector('html')!.appendChild(link); const extensionPopup = document.createElement('div'); extensionPopup.classList.add('outside-container', 'hide'); @@ -887,23 +891,27 @@ function addExtensionSettings() { const extensionIframe = document.createElement('iframe'); extensionIframe.src = `${browser.runtime.getURL('interface/index.html')}#settings/embedded`; extensionIframe.id = 'ExtensionIframe'; - extensionIframe.allowTransparency = true; + extensionIframe.setAttribute('allowTransparency', 'true'); + extensionIframe.setAttribute('excludeDarkCheck', 'true'); extensionIframe.style.width = '384px'; extensionIframe.style.height = '600px'; extensionIframe.style.border = 'none'; - extensionIframe.setAttribute('excludeDarkCheck', true); extensionPopup.appendChild(extensionIframe); const container = document.getElementById('container'); const closeExtensionPopup = () => { + const ExtensionIframe = document.getElementById('ExtensionIframe') as HTMLIFrameElement; + extensionPopup.classList.add('hide'); animate( '#ExtensionPopup', { opacity: [1, 0], scale: [1, 0] }, { easing: [.22, .03, .26, 1] } ); - document.getElementById('ExtensionIframe').contentWindow.postMessage('popupClosed', '*'); + if (ExtensionIframe.contentWindow) { + ExtensionIframe.contentWindow.postMessage('popupClosed', '*'); + } SettingsClicked = false; };