diff --git a/src/aura/init/rendererHook/injection.js b/src/aura/init/rendererHook/injection.js index 5a55778..25e9d9d 100755 --- a/src/aura/init/rendererHook/injection.js +++ b/src/aura/init/rendererHook/injection.js @@ -168,8 +168,8 @@ observers.set(moduleKey, observer); }; - const loadResources = async (resources, type, moduleKey, isRevive) => { - if (!resources || isRevive) return []; + const loadResources = async (resources, type, moduleKey) => { + if (!resources) return []; const resourceArray = Array.isArray(resources) ? resources : [resources]; const loadedResources = []; @@ -232,12 +232,11 @@ const resources = new Set(); moduleResources.set(moduleKey, resources); - if (config.pageCSS) { + if (config.pageCSS && !isRevive) { const cssResources = await loadResources( config.pageCSS, "css", - moduleKey, - isRevive + moduleKey ); cssResources.forEach((resource) => resources.add(resource)); } @@ -250,16 +249,22 @@ insertElement(target, container, config.selectorMode); monitorParent(moduleKey, target, container, config.selectorMode); - if (config.pageScript) { + if (config.pageScript && !isRevive) { const jsResources = await loadResources( config.pageScript, "js", - moduleKey, - isRevive + moduleKey ); jsResources.forEach((resource) => resources.add(resource)); } + if (isRevive) { + const onReviveEvent = new CustomEvent( + `onLoaderElRevive:${moduleKey}` + ); + document.dispatchEvent(onReviveEvent); + } + const observer = new MutationObserver(() => { if ( !document.contains(container) && diff --git a/src/aura/ui/composables/settingsRenderer.js b/src/aura/ui/composables/settingsRenderer.js index 548efe1..9b2abe5 100755 --- a/src/aura/ui/composables/settingsRenderer.js +++ b/src/aura/ui/composables/settingsRenderer.js @@ -145,9 +145,10 @@ const renderInputArea = (entry, operationArea, descriptionArea) => { inputEl.value = entry.valueGetter(); inputEl.placeholder = entry.placeHolder; inputEl.id = entry.id; - inputEl.addEventListener("change", async (event) => { + + const handleSubmit = async (event = null) => { const result = await entry.callbackFn( - event.target.value, + event ? event.target.value : inputEl.value, inputEl, operationArea, descriptionArea @@ -166,7 +167,17 @@ const renderInputArea = (entry, operationArea, descriptionArea) => { descriptionArea.textContent = result.hint; descriptionArea.classList.add("ase-desc-error-hint"); } + }; + + inputEl.addEventListener("change", async (event) => { + await handleSubmit(event); }); + + inputEl.onsubmit = async (evt) => { + evt.preventDefault(); + await handleSubmit(); + }; + operationArea.classList.add("ase-operation-area-expanded"); return inputEl; } diff --git a/src/aura/ui/pages/config/config.html b/src/aura/ui/pages/config/config.html index 9da9827..22f9c8d 100755 --- a/src/aura/ui/pages/config/config.html +++ b/src/aura/ui/pages/config/config.html @@ -13,7 +13,10 @@

雨光之环

-
+
{ global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword(); }; @@ -243,6 +248,16 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = { }; }, + resetAuthDialogInputElOnSubmit: (func) => { + const inputEl = document.getElementById("acp-auth-user-input"); + inputEl.onsubmit = (evt) => evt.preventDefault(); + inputEl.onkeydown = (event) => { + if (event.key === "Enter") { + func(); + } + }; + }, + handleACSNShow: async () => { const acsnRootEl = document.getElementsByClassName( "acp-config-status-notify" @@ -386,6 +401,9 @@ global.__HUGO_AURA_UI_FUNCTIONS__.config = { "aura-config-page-header-area" )[0]; acsDialogAreaEl.style = ""; + global.__HUGO_AURA_UI_FUNCTIONS__.config.resetAuthDialogInputElOnSubmit( + global.__HUGO_AURA_UI_FUNCTIONS__.config.verifyAuthPassword + ); await window.__HUGO_AURA_GLOBAL__.utils.sleep(500); acsDialogAreaEl.classList.remove("acp-ada-hidden"); acpAppBarEl.classList.add("color-reverse"); diff --git a/src/aura/ui/pages/configSubPages/preferences/settings/aura.js b/src/aura/ui/pages/configSubPages/preferences/settings/aura.js index 8e5b0ab..d884178 100755 --- a/src/aura/ui/pages/configSubPages/preferences/settings/aura.js +++ b/src/aura/ui/pages/configSubPages/preferences/settings/aura.js @@ -142,6 +142,10 @@ const functions = { } }; + global.__HUGO_AURA_UI_FUNCTIONS__.config.resetAuthDialogInputElOnSubmit( + verifyPassword + ); + // @ts-expect-error acpDialogConfirmBtnEl.onclick = verifyPassword; // @ts-expect-error diff --git a/src/aura/ui/pages/headerIcon/headerIcon.js b/src/aura/ui/pages/headerIcon/headerIcon.js index 6330c0a..506a4a3 100755 --- a/src/aura/ui/pages/headerIcon/headerIcon.js +++ b/src/aura/ui/pages/headerIcon/headerIcon.js @@ -9,9 +9,10 @@ global.__HUGO_AURA_UI_FUNCTIONS__.headerIcon = { let clickCounter = 0; let clickTimeout = null; - const onMounted = () => { + const onMounted = (revive = false) => { if ( - !global.__HUGO_AURA_CONFIG__.auraSettings.uiAccessMethod.showEntryIcon + !global.__HUGO_AURA_CONFIG__.auraSettings.uiAccessMethod.showEntryIcon && + !revive ) { const rootEl = document.getElementById("root"); rootEl.classList.add("aura-header-icon-hidden"); @@ -19,7 +20,8 @@ global.__HUGO_AURA_UI_FUNCTIONS__.headerIcon = { if ( global.__HUGO_AURA_CONFIG__.auraSettings.uiAccessMethod - .fallbackAccessMethods.hotkey + .fallbackAccessMethods.hotkey && + !revive ) { document.addEventListener("keydown", (event) => { if (event.ctrlKey && event.shiftKey && event.key === "A") { @@ -53,4 +55,11 @@ global.__HUGO_AURA_UI_FUNCTIONS__.headerIcon = { }; onMounted(); + + document.addEventListener( + "onLoaderElRevive:Aura.UI.Assistant.HeaderEntry", + () => { + onMounted(true); + } + ); })(); diff --git a/src/aura/utils/pls.js b/src/aura/utils/pls.js index 69f2eec..9bb7753 100644 --- a/src/aura/utils/pls.js +++ b/src/aura/utils/pls.js @@ -12,7 +12,7 @@ const createWsWindow = (electron) => { frame: false, skipTaskbar: true, transparent: true, - alwaysOnTop: true, + alwaysOnTop: false, webPreferences: { nodeIntegration: true, contextIsolation: false, @@ -21,6 +21,7 @@ const createWsWindow = (electron) => { }); window.setIgnoreMouseEvents(true); + window.minimize(); window.loadFile( path.join( __dirname,