From c720ee7d7b13edeb0d4409345fb1c8f77682559f Mon Sep 17 00:00:00 2001 From: HighImKevin Date: Sun, 23 Nov 2025 19:17:49 -0500 Subject: [PATCH] Move KefinTweaks configuration button to Administration area on the left menu --- scripts/configuration.css | 4 ++-- scripts/configuration.js | 3 ++- scripts/utils.js | 9 +++++---- 3 files changed, 9 insertions(+), 7 deletions(-) diff --git a/scripts/configuration.css b/scripts/configuration.css index c1fc378..3695ae8 100644 --- a/scripts/configuration.css +++ b/scripts/configuration.css @@ -47,7 +47,7 @@ .navMenuOption:has(.build) { order: 9999; - margin-top: 2em !important; + margin-top: 3em !important; position: relative; } @@ -179,5 +179,5 @@ summary.listItemBodyText { .navMenuOption:has(.build):hover:not(.navMenuOption-selected) { transform: none !important; - margin-top: 2em !important; + margin-top: 3em !important; } \ No newline at end of file diff --git a/scripts/configuration.js b/scripts/configuration.js index 12f1629..abb0a33 100644 --- a/scripts/configuration.js +++ b/scripts/configuration.js @@ -4656,7 +4656,8 @@ window.KefinTweaksConfig = ${JSON.stringify(config, null, 2)};`; 'Configure', 'build', configUrl, - false + false, + '.adminMenuOptions' ); if (success) { diff --git a/scripts/utils.js b/scripts/utils.js index 609069f..18d2557 100644 --- a/scripts/utils.js +++ b/scripts/utils.js @@ -283,12 +283,13 @@ * @param {string} icon - Material icon name * @param {string} url - URL to navigate to * @param {boolean} openInNewTab - Whether to open in new tab (default: false) + * @param {string} containerSelector - CSS selector for the container to add the link to (default: '.customMenuOptions') * @returns {Promise} - True if successfully added, false otherwise */ - function addCustomMenuLink(name, icon, url, openInNewTab = false) { + function addCustomMenuLink(name, icon, url, openInNewTab = false, containerSelector = '.customMenuOptions') { return new Promise((resolve) => { // Check if menu container already exists - const existingContainer = document.querySelector('.customMenuOptions'); + const existingContainer = document.querySelector(containerSelector); if (existingContainer) { const success = addLinkToContainer(existingContainer, name, icon, url, openInNewTab); resolve(success); @@ -303,8 +304,8 @@ mutation.addedNodes.forEach(node => { if (node.nodeType === Node.ELEMENT_NODE) { // Check if the added node is the menu or contains it - if (node.matches?.('.customMenuOptions') || node.querySelector?.('.customMenuOptions')) { - const container = node.matches?.('.customMenuOptions') ? node : node.querySelector('.customMenuOptions'); + if (node.matches?.(containerSelector) || node.querySelector?.(containerSelector)) { + const container = node.matches?.(containerSelector) ? node : node.querySelector(containerSelector); LOG(`Custom menu container detected, adding link: ${name}`); observer.disconnect();