// TODO: Refactor this ugly shit who wrote this lmao function vote(type, id, dir) { const upvotes = document.getElementsByClassName(type + '-' + id + '-up'); const downvotes = document.getElementsByClassName(type + '-' + id + '-down'); const scoretexts = document.getElementsByClassName(type + '-score-' + id); for (let i=0; i 0) { document.getElementsByClassName('picked')[0].classList.toggle('picked'); } document.getElementById(kind).classList.toggle('picked') if (kind == "agendaposter") { document.getElementById('phrase_section').classList.remove("d-none") document.getElementById('note_section').classList.add("d-none") } else { document.getElementById('phrase_section').classList.add("d-none") document.getElementById('note_section').classList.remove("d-none") } if (kind == "flairlock") { document.getElementById('notelabel').innerHTML = "New flair:"; document.getElementById('note').placeholder = "Insert new flair here, or leave empty to add 1 day to the duration of the current flair. 100 characters max."; document.getElementById('note').maxLength = 100; } else if (kind == "namelock") { document.getElementById('notelabel').innerHTML = "New username:"; document.getElementById('note').placeholder = "Insert new username here, or leave empty to add 1 day to the duration of the current username. 25 characters max."; document.getElementById('note').maxLength = 25; } else { document.getElementById('notelabel').innerHTML = "Note (optional):"; document.getElementById('note').placeholder = "Note to include in award notification"; document.getElementById('note').maxLength = 200; } document.getElementById('award_price_block').classList.remove('d-none'); document.getElementById('award_price').textContent = price; } function buy() { const kind = document.getElementById('kind').value; url = `/buy/${kind}` const xhr = createXhrWithFormKey(url); xhr[0].onload = function() { let data try {data = JSON.parse(xhr[0].response)} catch(e) {console.error(e)} success = xhr[0].status >= 200 && xhr[0].status < 300; showToast(success, getMessageFromJsonData(success, data), true); if (success) { if (kind != "lootbox") { document.getElementById('giveaward').disabled=false; let owned = document.getElementById(`${kind}-owned`) let ownednum = Number(owned.textContent) + 1; owned.textContent = ownednum } } }; xhr[0].send(xhr[1]); } function giveaward(t) { const kind = document.getElementById('kind').value; const note_id = (kind == "agendaposter" ? "agendaposter_phrase" : "note") postToast(t, t.dataset.action, { "kind": kind, "note": document.getElementById(note_id).value }, () => { let owned = document.getElementById(`${kind}-owned`) let ownednum = Number(owned.textContent) - 1; owned.textContent = ownednum if (ownednum == 0) document.getElementById('giveaward').disabled=true; } ); } const awardtabs = document.getElementsByClassName('award-tab'); const awardsections = document.getElementsByClassName('award-section'); function switchAwardTab() { for (const element of awardtabs) element.classList.toggle('active') for (const element of awardsections) element.classList.toggle('d-none') }