MediaWiki:ThankYouPage.js

From Donate
Revision as of 14:39, 11 November 2019 by Pcoombe (talk | contribs) (new ty page code)
Jump to navigation Jump to search

Note: After publishing, 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 / Edge: Hold Ctrl while clicking Refresh, or press Ctrl-F5
  • Opera: Press Ctrl-F5.
// Framebuster for https://phabricator.wikimedia.org/T176669
if ( self !== top ) { 
    top.location.href = window.location;
}

mw.loader.using( 'mediawiki.util', function() {

    /* -- Both old and 2019 pages -- */
    var paymentMethod = mw.util.getParamValue('payment_method'),
        country = mw.util.getParamValue('country');

    if ( paymentMethod === 'bt' ) {
        document.getElementById('ty-banktransfer').style.display = 'block';
    }
    if ( paymentMethod === 'bitcoin' ) {
        document.getElementById('ty-bitcoin').style.display = 'block';
    }
    if ( paymentMethod === 'bpay' ) {
        document.getElementById('ty-bpay').style.display = 'block';
    }

    // Adjust survey link
    if ( country ) {
        $('.ty-survey-link, a[href^="https://www.surveymonkey.com"]').attr('href', function( i, val ) {
            return val + "?country=" + country;
        });
    }

    /* -- Old page -- */
    if ( country === 'US' || country === 'CA' ) {
        document.getElementById('ty-store').style.display = 'block';
    }

    /* -- New 2019 page -- */
    if ( country === 'US' ) {

        $( '.primary-ctas .matching, \
            .other-ctas, \
            .other-ctas .survey, \
            .other-ctas .store, \
            .other-ctas .endowment' ).show();

    } else if ( country === 'CA' ) {

        $( '.primary-ctas .survey, \
            .other-ctas, \
            .other-ctas .store' ).show();

    } else {

        $( '.primary-ctas .survey' ).show();

    }

});

// Hint to click a share button when icon is clicked
document.getElementsByClassName('ty-share')[0].addEventListener('click', function() {
    var primaryClick = this;
    primaryClick.classList.add('highlight');
    setTimeout(function() {
        primaryClick.classList.remove('highlight');
    }, 400);
});

if ( navigator.share ) {
    $('#ty-web-share').click(function(e) {
        var url = 'https://donate.wikimedia.org/?utm_medium=SocialMedia&utm_campaign=ThankYouPage&utm_source=WebShare'; 
        if ( $(this).data('share-language') ) {
            url += '&uselang=' + $(this).data('share-language');
        }
        navigator.share({
            text: $(this).data('share-text'),
            url: url
        });
        e.preventDefault();
    });
    $('#ty-web-share').show();
}