General Discussion

Anton

kero?
Chat Administrator
Core 'Shroom Staff
Awards Committee
Pronouns
He/him
Discuss general things here :poshjr:

This OP will be updated periodically, with other updates in new posts.



Awards Ceremony
Friday, August 14th, 2020

To access it, just join the server 'irc.darkmyst.org' in any irc client and join #mwikiawards. You can also join it by using the wiki's WebChat applet and typing "/join #mwikiawards" after you get in, or just simply click this direct mibbit link!


Important Links:
Anniversary Wiki Page
Full List 2020
Schedule
Historical Results (2007-2014)
Historical Results (2015-present)
2019 Complete Results
Full List 2019
 
Last edited:

Anton

kero?
Chat Administrator
Core 'Shroom Staff
Awards Committee
Pronouns
He/him
AC Applications will open up tomorrow and close the 31st. The Committee should be put together by April 4th, and we'll then have a week before the first meeting to have any preliminary discussion as desired.
 

Anton

kero?
Chat Administrator
Core 'Shroom Staff
Awards Committee
Pronouns
He/him
2020 Awards Committee

@Anton (Director)
@Turboo (Sub-Director)
@Hooded Pitohui (Community Awards Host)
@Seteth (Awards Staff Consultant)
@2257 (Awards Staff Consultant)
@Lakituthequick (Awards Record Keeper)
@Hibiki Tachibana
@Smasher
@YoshiFlutterJump
@Mariofan169
@Roserade the Real Bombchu
@Hanamaru Kunikida
@Zange




This board is open to you guys about one week before our first meeting to allow anyone to introduce any big ideas they may have that may alter our schedule trajectory, as well as ask any questions and familiarize yourself with our processes. The last few years have become pretty streamlined and relatively stress-free so we're likely going to continue with that motion, but it's also become relatively hands-off with the retirement of tokens. This committee will only be as busy as we make it!
 

Lakituthequick

Celestial Guide
Core 'Shroom Staff
Awards Committee
Poll Committee
Pronouns
He/him
As we're going to be using polls on this board and XenForo doesn't offer sorting of poll results, I created a script a while ago that does that, somewhat inspired by what 2257 made for his Yoshi's Island theme back in the SMF times. You can paste this into a new Tampermonkey script and it will add a few buttons under poll results.
For now doesn't work with results that load after the page was loaded. Just refresh after voting.

JavaScript:
// ==UserScript==
// @name         Super Mario Boards XenForo
// @namespace    https://smw.ltquick.nl/
// @version      0.1
// @author       Lakituthequick
// @include      *://www.marioboards.com/*
// @grant        none
// ==/UserScript==

// Poll bar widths more useful
function modifyPollBars() {
    const options = document.querySelectorAll('.pollResult');

    if (options.length === 0)
        return;

    let max = 0;
    options.forEach(option => {
        const bar = option.querySelector('.pollResult-graph .pollResult-bar i');
        max = bar ? Math.max(max, parseFloat(bar.style.width)) : max;
    });

    if (max === 100)
        return;

    const multiplier = max > 0 ? 100 / max : 0;

    options.forEach(option => {
        const bar = option.querySelector('.pollResult-graph .pollResult-bar i');
        if (bar)
            bar.style.width = (parseFloat(bar.style.width) * multiplier) + '%';
    });
}

modifyPollBars();


function initSortablePollResults() {
    const pollBox = document.querySelector('form[data-xf-init*=poll-block]');

    if (pollBox === null)
        return;

    const list = pollBox.querySelector('ul');
    const options = list.children;

    const results = Array.from(options).map(option => {
        const votesNode = option.querySelector('.pollResult-votes a') || option.querySelector('.pollResult-votes');
        return {
            name: option.querySelector('.pollResult-response').textContent,
            votes: parseInt(votesNode.childNodes[2].textContent.trim()),
            li: option,
        };
    });

    const sortedByAlphabet = Array.from(results).sort((a, b) => {
        if (a.name > b.name)
            return 1;
        else if (a.name < b.name)
            return -1;
        else
            return 0;
    });

    const sortedByVotes = Array.from(sortedByAlphabet).sort((a, b) => {
        if (a.votes < b.votes)
            return 1;
        else if (a.votes > b.votes)
            return -1;
        else
            return 0;
    });

    let buttonsContainer = pollBox.querySelector('.block-footer-controls');

    if (buttonsContainer === null) {
        buttonsContainer = document.createElement('span');
        buttonsContainer.className = 'block-footer-controls';
        const footer = document.createElement('div');
        footer.className = 'block-footer';
        footer.appendChild(buttonsContainer);
        pollBox.querySelector('.block-container').appendChild(footer);
    }

    buttonsContainer.classList.add('buttonGroup');

    const sortByVotesButton = document.createElement('button');
    sortByVotesButton.textContent = 'Sort by votes';
    sortByVotesButton.className = 'button';
    sortByVotesButton.addEventListener('click', e => {
        e.preventDefault();
        reorderPollItems(sortedByVotes);
    });
    buttonsContainer.appendChild(sortByVotesButton);

    const sortByAlphabetButton = document.createElement('button');
    sortByAlphabetButton.textContent = 'Sort alphabetically';
    sortByAlphabetButton.className = 'button';
    sortByAlphabetButton.addEventListener('click', e => {
        e.preventDefault();
        reorderPollItems(sortedByAlphabet);
    });
    buttonsContainer.appendChild(sortByAlphabetButton);

    const sortRestoreButton = document.createElement('button');
    sortRestoreButton.textContent = 'Restore order';
    sortRestoreButton.className = 'button';
    sortRestoreButton.addEventListener('click', e => {
        e.preventDefault();
        reorderPollItems(results);
    });
    buttonsContainer.appendChild(sortRestoreButton);

    function reorderPollItems(items) {
        items = items.map(item => ({
            li: item.li,
            oldBox: item.li.getBoundingClientRect(),
        }));
        items.forEach(item => list.appendChild(item.li));
        items.forEach(item => {
            const newBox = item.li.getBoundingClientRect();
            const deltaX = item.oldBox.left - newBox.left;
            const deltaY = item.oldBox.top - newBox.top;
            requestAnimationFrame(() => {
                item.li.style.transform = `translate(${deltaX}px, ${deltaY}px)`;
                item.li.style.transition = 'transform 0s';
                requestAnimationFrame(() => {
                    item.li.style.transform = '';
                    item.li.style.transition = 'transform .4s';
                });
            });
        });
    }
}

initSortablePollResults();
 

Attachments

Anton

kero?
Chat Administrator
Core 'Shroom Staff
Awards Committee
Pronouns
He/him
Added and installed, was easy enough for someone whose easily frustrated by this stuff like me.
 

YoshiFlutterJump

Power Star
Pronouns
He/him
MarioWiki
YoshiFlutterJump
So, in case I forget for the next meeting. With the recent announcement of Mario Maker 2 update 3.0.0, should the option in Favorite Add-On Content we added be changed to reflect that? Better yet, perhaps throw in the update content from the first Mario Maker in an all-encompassing "Super Mario Maker update content" option?
 

Anton

kero?
Chat Administrator
Core 'Shroom Staff
Awards Committee
Pronouns
He/him
The polls will be closed for 3 days by that time, so there's really almost nothing we can add from it and will just have to deal with a lot of speculative write-in votes unless a demo or something solid comes out.
 
Top