From cc0cae97f9a61652710c25c8a8ac1b32a2f9a502 Mon Sep 17 00:00:00 2001 From: CanadaHonk Date: Sat, 1 Apr 2023 20:51:02 +0100 Subject: [PATCH] settings: add openasar setting item (rewrite) --- src/bootstrap.js | 4 ++-- src/mainWindow.js | 38 +++++++++++++++----------------------- 2 files changed, 17 insertions(+), 25 deletions(-) diff --git a/src/bootstrap.js b/src/bootstrap.js index cbeb128..90054f3 100644 --- a/src/bootstrap.js +++ b/src/bootstrap.js @@ -37,10 +37,10 @@ const startCore = () => { if (!bw.resizable) return; // Main window only splash.pageReady(); // Override Core's pageReady with our own on dom-ready to show main window earlier - const [ channel, hash ] = oaVersion.split('-'); // Split via - + const [ channel = '', hash = '' ] = oaVersion.split('-'); // Split via - bw.webContents.executeJavaScript(readFileSync(join(__dirname, 'mainWindow.js'), 'utf8') - .replaceAll('', hash) + .replaceAll('', hash).replaceAll('', channel) .replaceAll('', oaConfig.noTrack) .replace('', (oaConfig.css ?? '').replaceAll('\\', '\\\\').replaceAll('`', '\\`'))); diff --git a/src/mainWindow.js b/src/mainWindow.js index 3b2b05d..922796c 100644 --- a/src/mainWindow.js +++ b/src/mainWindow.js @@ -25,20 +25,27 @@ const themesync = async () => { if (value !== pastValue) DiscordNative.userDataCache.cacheUserData(JSON.stringify(cached)); }; - -// Settings info version injection +// Settings injection setInterval(() => { const host = [...document.querySelectorAll('[class*="info-"] [class*="line-"]')].find(x => x.textContent.startsWith('Host ')); if (!host || document.querySelector('#openasar-ver')) return; - const el = document.createElement('span'); - el.id = 'openasar-ver'; + const oaVersion = host.cloneNode(true); + oaVersion.id = 'openasar-ver'; + oaVersion.textContent = 'OpenAsar '; + oaVersion.onclick = () => DiscordNative.ipc.send('DISCORD_UPDATED_QUOTES', 'o'); - el.textContent = 'OpenAsar '; - el.onclick = () => DiscordNative.ipc.send('DISCORD_UPDATED_QUOTES', 'o'); + host.insertAdjacentElement('afterend', oaVersion); - host.append(document.createTextNode(' | '), el); -}, 2000); + const advanced = document.querySelector('[class*="socialLinks-"]').parentElement.querySelectorAll('[class*="separator-')[2].previousElementSibling; + if (!advanced) return; + + const oaSetting = advanced.cloneNode(true); + oaSetting.textContent = 'OpenAsar'; + oaSetting.onclick = oaVersion.onclick; + + advanced.insertAdjacentElement('afterend', oaSetting); +}, 1000); const injCSS = x => { const el = document.createElement('style'); @@ -46,21 +53,6 @@ const injCSS = x => { document.body.appendChild(el); }; -injCSS(` -[class^="socialLinks-"] + [class^="info-"] { - padding-right: 0; -} - -#openasar-ver { - text-transform: none; - cursor: pointer; -} - -#openasar-ver:hover { - text-decoration: underline; - color: var(--text-normal); -}`); - injCSS(``); openasar = {}; // Define global for any mods which want to know / etc