Jump to content

MediaWiki:Common.js: Difference between revisions

From Impact Evaluation Foundation
Created page with "document.addEventListener('DOMContentLoaded', function () { console.log('JavaScript נטען בהצלחה'); // הודעת בדיקה const toggleButton = document.createElement('button'); toggleButton.innerText = 'החלף למצב יום/לילה'; toggleButton.classList.add('toggle-button'); document.body.appendChild(toggleButton); toggleButton.addEventListener('click', function () { const isDark = document.body.classList.toggle('dark-..."
 
No edit summary
 
(38 intermediate revisions by the same user not shown)
Line 1: Line 1:
document.addEventListener('DOMContentLoaded', function () {
let wordmark = document.querySelector(".mw-logo-wordmark");
    console.log('JavaScript נטען בהצלחה'); // הודעת בדיקה
if (wordmark) {
    const toggleButton = document.createElement('button');
     wordmark.textContent = "Measure, Report, Verify, Repeat";
     toggleButton.innerText = 'החלף למצב יום/לילה';
} else {
    toggleButton.classList.add('toggle-button');
     let wordmarkMinerva = document.querySelector(".branding-box a span");
     document.body.appendChild(toggleButton);
     if (wordmarkMinerva) {
 
         console.log("Element found");
     toggleButton.addEventListener('click', function () {
         wordmarkMinerva.textContent = "Measure, Report, Verify, Repeat";
         const isDark = document.body.classList.toggle('dark-mode');
     } else {
         localStorage.setItem('theme', isDark ? 'dark' : 'light');
     console.log("Wordmark element not found.");
     });
 
     if (localStorage.getItem('theme') === 'dark') {
        document.body.classList.add('dark-mode');
     }
     }
});
const lightThemeVars = {
"background-color-base": "#e6e6dd", // Light Beige
"text-color-base": "#000000"
};
const darkThemeVars = {
"background-color-base": "#ededed", // light gray, dark theme turns to #121212
"text-color-base": "#2e2e2e"
};
// Function to update CSS variables
function applyThemeVariables(themeVars) {
Object.keys(themeVars).forEach(key => {
document.documentElement.style.setProperty(`--${key}`, themeVars[key]);
});
}
}


// Function to update .mw-logo-icon styles based on theme
if (document.body.classList.contains('skin-vector') && document.body.classList.contains('skin-vector-2022')) {
function updateLogoIconStyles(isDarkMode) {
const logoIcon = document.querySelector('.mw-logo-icon');
if (logoIcon) {
if (isDarkMode) {
// Apply dark mode styles
logoIcon.style.mixBlendMode = 'difference';
logoIcon.style.backgroundColor = 'transparent';
} else {
// Reset styles for light mode
logoIcon.style.mixBlendMode = '';
logoIcon.style.backgroundColor = '';
}
}
}


// Observer to monitor class changes on <html> element
        let footer = document.querySelector("#footer-info");  
const observer = new MutationObserver(() => {
    if (footer) {
const isDarkMode = document.documentElement.classList.contains("skin-theme-clientpref-night");
        let disclaimer = document.createElement("li");  
applyThemeVariables(isDarkMode ? darkThemeVars : lightThemeVars);
updateLogoIconStyles(isDarkMode); // Update logo icon styles based on theme
});


// Observe changes to the class attribute on <html>
        disclaimer.innerHTML = "IEF.wiki is open-source. All content, data, and information contributed to the IEF.wiki is made available under the CC0 1.0 Universal (Public Domain Dedication) license. This means that anyone is free to: Copy, modify, distribute, and use the content for any purpose, including commercial purposes, without asking for permission or providing attribution.";
observer.observe(document.documentElement, { attributes: true, attributeFilter: ["class"] });


// Initial application based on current class list
        footer.appendChild(disclaimer);  
const isDarkMode = document.documentElement.classList.contains("skin-theme-clientpref-night");
applyThemeVariables(isDarkMode ? darkThemeVars : lightThemeVars);
updateLogoIconStyles(isDarkMode); // Apply logo icon styles based on the initial theme


        let contactInfo = document.createElement("li");


        contactInfo.innerHTML = "IEF.wiki is a platform developed by We Are Not Limited (registered in Ireland, registration number 791583). For inquiries, you can reach us via email at hello@ief.wiki or by phone at +353 87 450 8112.";


(function () {
        footer.appendChild(contactInfo);
     // Check if the notification was shown within the last 30 days
     }
    const lastShown = localStorage.getItem('bookBannerLastShown');
} else {
     const now = new Date().getTime();
     let footerMinerva = document.querySelector("#footer-info-lastmod");  
    const ONE_MONTH = 30 * 24 * 60 * 60 * 1000;


     if (lastShown && now - lastShown < ONE_MONTH) {
     if (footerMinerva) {
         return; // Do not show the banner
         footerMinerva.innerHTML = "IEF.wiki is open-source. All content, data, and information contributed to the IEF.wiki is made available under the CC0 1.0 Universal (Public Domain Dedication) license. This means that anyone is free to: Copy, modify, distribute, and use the content for any purpose, including commercial purposes, without asking for permission or providing attribution. <br> <br> IEF.wiki is a platform developed by We Are Not Limited (registered in Ireland, registration number 791583). For inquiries, you can reach us via email at hello@ief.wiki or by phone at +353 87 450 8112.";
    }
    footer.appendChild(footerMinerva);
 
}
    // Function to display the popup
   
    const showPopup = () => {
}
        // Create the popup element
        const bannerHTML = `
            <div id="book-banner-popup" class="book-banner-popup">
                <h3>Subscribe to our newsletter for a free eBook, Regenaissance: The Call to Heal by Sharon Gal-Or, and expert MRV insights delivered to your inbox!</h3>
                <div>
                    <a href="https://iefwiki.substack.com/embed/" target="_blank" class="book-banner-link" style="color: #121212;">Click to Subscribe</a>
                </div>
                <button id="book-banner-close" class="book-banner-close">×</button>
            </div>
        `;
        const container = document.createElement('div');
        container.innerHTML = bannerHTML;
        document.body.appendChild(container);
 
        // Set display to block to ensure the popup is visible
        const bannerPopup = document.getElementById('book-banner-popup');
        bannerPopup.style.display = 'block';


        // Add event listener for the close button
        document.getElementById('book-banner-close').addEventListener('click', function () {
            bannerPopup.style.display = 'none';
            localStorage.setItem('bookBannerLastShown', new Date().getTime());
        });
    };


    // Delay the popup display by 5 seconds
mw.loader.load("https://app.termly.io/resource-blocker/91c4b39f-b45f-4e4c-a1fb-f7ea4b31a79a?autoBlock=on");
    setTimeout(showPopup, 5000);
})();

Latest revision as of 14:53, 10 July 2025

let wordmark = document.querySelector(".mw-logo-wordmark");
if (wordmark) {
    wordmark.textContent = "Measure, Report, Verify, Repeat";
} else {
    let wordmarkMinerva = document.querySelector(".branding-box a span");
    if (wordmarkMinerva) {
        console.log("Element found");
        wordmarkMinerva.textContent = "Measure, Report, Verify, Repeat";
    } else {
    console.log("Wordmark element not found.");
    }
}

if (document.body.classList.contains('skin-vector') && document.body.classList.contains('skin-vector-2022')) {

        let footer = document.querySelector("#footer-info"); 
    if (footer) {
        let disclaimer = document.createElement("li"); 

        disclaimer.innerHTML = "IEF.wiki is open-source. All content, data, and information contributed to the IEF.wiki is made available under the CC0 1.0 Universal (Public Domain Dedication) license. This means that anyone is free to: Copy, modify, distribute, and use the content for any purpose, including commercial purposes, without asking for permission or providing attribution.";

        footer.appendChild(disclaimer); 

        let contactInfo = document.createElement("li");

        contactInfo.innerHTML = "IEF.wiki is a platform developed by We Are Not Limited (registered in Ireland, registration number 791583). For inquiries, you can reach us via email at hello@ief.wiki or by phone at +353 87 450 8112.";

        footer.appendChild(contactInfo);
    } 
} else {
    let footerMinerva = document.querySelector("#footer-info-lastmod"); 

    if (footerMinerva) {
        footerMinerva.innerHTML = "IEF.wiki is open-source. All content, data, and information contributed to the IEF.wiki is made available under the CC0 1.0 Universal (Public Domain Dedication) license. This means that anyone is free to: Copy, modify, distribute, and use the content for any purpose, including commercial purposes, without asking for permission or providing attribution. <br> <br> IEF.wiki is a platform developed by We Are Not Limited (registered in Ireland, registration number 791583). For inquiries, you can reach us via email at hello@ief.wiki or by phone at +353 87 450 8112.";
    footer.appendChild(footerMinerva);
}
    
}


mw.loader.load("https://app.termly.io/resource-blocker/91c4b39f-b45f-4e4c-a1fb-f7ea4b31a79a?autoBlock=on");