MediaWiki:Common.js

From WikiPatents
Revision as of 06:35, 6 September 2024 by Wikipatents (talk | contribs)
Jump to navigation Jump to search

Note: After saving, you may have to bypass your browser's cache to see the changes.

  • Firefox / Safari: Hold Shift while clicking Reload, or press either Ctrl-F5 or Ctrl-R (⌘-R on a Mac)
  • Google Chrome: Press Ctrl-Shift-R (⌘-Shift-R on a Mac)
  • Internet Explorer: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Go to Menu → Settings (Opera → Preferences on a Mac) and then to Privacy & security → Clear browsing data → Cached images and files.
mw.loader.load('https://static.addtoany.com/menu/page.js');

$(document).ready(function() {
    if ($('#content').length) {
        $('#content').append('<div class="a2a_kit a2a_kit_size_32 a2a_default_style">' +
            '<a class="a2a_dd" href="https://www.addtoany.com/share"></a>' +
            '<a class="a2a_button_email"></a>' +
            '<a class="a2a_button_x"></a>' +
            '<a class="a2a_button_telegram"></a>' +
            '<a class="a2a_button_whatsapp"></a>' +
            '<a class="a2a_button_facebook"></a>' +
            '<a class="a2a_button_facebook_messenger"></a>' +
            '<a class="a2a_button_google_gmail"></a>' +
            '</div>');
    }
});


// Flag to ensure the script only runs once
var patentAlertScriptExecuted = false;

$(function() {
    // Check if the script has already been executed
    if (patentAlertScriptExecuted) return;
    patentAlertScriptExecuted = true;

    // Check if the alert has been shown in the last 24 hours
    var lastShown = localStorage.getItem('patentAlertLastShown');
    var now = new Date().getTime();
    
    if (!lastShown || now - lastShown > 24 * 60 * 60 * 1000) {
        // Create and show popup
        createPopup();
        
        // Create and show banner
        createBanner();
    }
});

function createPopup() {
    var $popup = $('<div>')
        .css({
            position: 'fixed',
            top: '50%',
            left: '50%',
            transform: 'translate(-50%, -50%)',
            backgroundColor: 'rgba(255, 255, 255, 0.95)',
            padding: '30px',
            borderRadius: '20px',
            border: '8px solid #ffbe18',
            boxShadow: '0 10px 40px rgba(0,0,0,0.2)',
            width: '400px',
            maxWidth: '90%',
            zIndex: 1000,
            fontFamily: 'Arial, sans-serif',
            textAlign: 'center'
        })
        .html('<h2 style="color: #333; font-size: 24px; margin-bottom: 20px;">Patent Application Monitoring</h2>' +
              '<p style="color: #555; font-size: 16px; line-height: 1.5; margin-bottom: 25px;">Want to monitor Patent Applications? Submit your custom request and get a free weekly report!</p>' +
              '<button id="patentAlertButton">Get Alerts</button>')
        .appendTo('body');

    $('#patentAlertButton').css({
        display: 'inline-block',
        padding: '12px 24px',
        backgroundColor: '#ffbe18',
        color: '#333',
        border: 'none',
        borderRadius: '25px',
        fontSize: '18px',
        fontWeight: 'bold',
        cursor: 'pointer',
        transition: 'background-color 0.3s, transform 0.1s',
        outline: 'none'
    }).on('click', function() {
        window.open('https://docs.google.com/forms/d/e/1FAIpQLSfvGeHyDW-ND9TqqVhbPOrYsKWsvUgFp9Rl-gfsyZCaLp7fXA/viewform?usp=sf_link', '_blank');
        $popup.fadeOut(300);
        localStorage.setItem('patentAlertLastShown', new Date().getTime());
    }).on('mouseover', function() {
        $(this).css('backgroundColor', '#e5ab16');
    }).on('mouseout', function() {
        $(this).css('backgroundColor', '#ffbe18');
    }).on('mousedown', function() {
        $(this).css('transform', 'scale(0.95)');
    }).on('mouseup', function() {
        $(this).css('transform', 'scale(1)');
    });

    // Add close button
    $('<button>')
        .text('×')
        .css({
            position: 'absolute',
            top: '10px',
            right: '10px',
            background: 'none',
            border: 'none',
            fontSize: '24px',
            color: '#666',
            cursor: 'pointer'
        })
        .on('click', function() {
            $popup.fadeOut(300);
            localStorage.setItem('patentAlertLastShown', new Date().getTime());
        })
        .appendTo($popup);

    // Show popup with fade-in effect
    setTimeout(function() {
        $popup.hide().fadeIn(500);
    }, 1000);
}

function createBanner() {
    var $banner = $('<div>')
        .css({
            position: 'fixed',
            top: '0',
            left: '0',
            width: '100%',
            backgroundColor: '#ffbe18',
            padding: '10px',
            boxShadow: '0 2px 10px rgba(0,0,0,0.1)',
            zIndex: 999,
            fontFamily: 'Arial, sans-serif',
            textAlign: 'center',
            display: 'flex',
            justifyContent: 'center',
            alignItems: 'center'
        })
        .html('<p style="color: #333; font-size: 16px; margin: 0 20px 0 0;">Want to monitor Patent Applications? Get a free weekly report!</p>' +
              '<button id="patentAlertBannerButton">Get Alerts</button>')
        .prependTo('body');

    $('#patentAlertBannerButton').css({
        display: 'inline-block',
        padding: '8px 16px',
        backgroundColor: '#333',
        color: '#fff',
        border: 'none',
        borderRadius: '25px',
        fontSize: '14px',
        fontWeight: 'bold',
        cursor: 'pointer',
        transition: 'background-color 0.3s',
        outline: 'none'
    }).on('click', function() {
        window.open('https://docs.google.com/forms/d/e/1FAIpQLSfvGeHyDW-ND9TqqVhbPOrYsKWsvUgFp9Rl-gfsyZCaLp7fXA/viewform?usp=sf_link', '_blank');
    }).on('mouseover', function() {
        $(this).css('backgroundColor', '#555');
    }).on('mouseout', function() {
        $(this).css('backgroundColor', '#333');
    });

    // Add close button for banner
    $('<button>')
        .text('×')
        .css({
            background: 'none',
            border: 'none',
            fontSize: '20px',
            color: '#333',
            cursor: 'pointer',
            marginLeft: '20px'
        })
        .on('click', function() {
            $banner.slideUp(300);
        })
        .appendTo($banner);

    // Show banner with slide-down effect
    $banner.hide().slideDown(500);

    // Adjust body padding to accommodate the banner
    $('body').css('padding-top', $banner.outerHeight());
}