Common.js: Difference between revisions
From Blood on the Clocktower Wiki
No edit summary |
No edit summary |
||
| Line 7: | Line 7: | ||
$(document).ready(function () { | $(document).ready(function () { | ||
handleAudioElements(); | handleAudioElements(); | ||
replaceRolesWithAbilities(); | |||
}); | }); | ||
async function replaceRolesWithAbilities() { | |||
let ok = true; | |||
let resp = await fetch("https://wiki.bloodontheclocktower.com/roles.json"); | |||
let roles = [] | |||
if (!resp.ok) { | |||
console.log("nope") | |||
ok = false; | |||
} | |||
else { | |||
roles = await resp.json() | |||
console.log(roles); | |||
} | |||
document.querySelectorAll("[data-role]").forEach(function(e) { | |||
}) | |||
} | |||
function handleAudioElements() | function handleAudioElements() | ||
Revision as of 20:31, 4 April 2023
$("li:contains('Toolbox')").hide();
$("img").contextmenu(function () {
return false;
});
$(document).ready(function () {
handleAudioElements();
replaceRolesWithAbilities();
});
async function replaceRolesWithAbilities() {
let ok = true;
let resp = await fetch("https://wiki.bloodontheclocktower.com/roles.json");
let roles = []
if (!resp.ok) {
console.log("nope")
ok = false;
}
else {
roles = await resp.json()
console.log(roles);
}
document.querySelectorAll("[data-role]").forEach(function(e) {
})
}
function handleAudioElements()
{
document.querySelectorAll('.html5audio:not(.loaded)').forEach(function (div) {
var data = div.dataset;
var file = data.file;
if (!file) {
return;
}
var format = file.split('.').pop();
var preload = data.preload;
var download = data.download;
var options = data.options;
var opts = { controls: '' };
var volume = Number(Number(data.volume).toFixed(1));
if (format === 'mp3') {
format = 'mpeg';
}
if (format === 'm4a') {
format = 'mp4';
}
if (preload !== 'auto' || preload !== 'metadata') {
preload = 'none';
}
opts.preload = preload;
if (download === 'false') {
opts.controlsList = 'nodownload';
}
if (options) {
var valid = ['autoplay', 'loop', 'muted'];
options.split(',').forEach(function (el) {
el = el.trim();
if (valid.indexOf(el) !== -1) {
opts[el] = '';
}
});
}
var audio = document.createElement('audio');
Object.keys(opts).forEach(function (attr) {
var value = opts[attr];
audio.setAttribute(attr, value);
});
var source = document.createElement('source');
source.src = file;
source.type = 'audio/' + format;
audio.append(source);
if (volume >= 0 && volume <= 1) {
audio.volume = volume;
}
div.innerHTML = '';
div.appendChild(audio);
div.classList.add('loaded');
})
}
