Common.js: Difference between revisions
From Blood on the Clocktower Wiki
No edit summary |
No edit summary |
||
| Line 8: | Line 8: | ||
{ | { | ||
handleAudioElements(); | handleAudioElements(); | ||
} | }); | ||
function handleAudioElements() | function handleAudioElements() | ||
Revision as of 16:56, 21 March 2023
$("li:contains('Toolbox')").hide();
$("img").contextmenu(function() {
return false;
});
$(document).ready(function()
{
handleAudioElements();
});
function handleAudioElements()
{
content[0].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 (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,
msg('text').escape()
);
if (volume >= 0 && volume <= 1) {
audio.volume = volume;
}
div.innerHTML = '';
div.appendChild(audio);
div.classList.add('loaded');
}
/*
$(document).ready(function()
{
var e_interactions = document.querySelector("#interactions");
var language = e_interactions.dataset.language;
var href = window.location.href
var slash = href.indexOf("/", 8)
var hashtag = href.indexOf("#")
var key = href.substring(slash + 1, hashtag == -1 ? href.length : hashtag)
.replace(" ", "")
.replace("-", "")
.replace("'", "")
.replace("_", "")
.replace("%27", "")
.toLowerCase();
fetch("https://interactions.patters.live/api/interactions/by-key/" + key + "/" + language)
.then(function(response)
{
if (!response) {
return;
}
response.json()
.then(function(interactions) {
interactions.sort(function(a, b) {
var aKey = (a.primaryKey !== key ? a.primaryKey : a.secondaryKey)
var bKey = (b.primaryKey !== key ? b.primaryKey : b.secondaryKey)
if (aKey < bKey)
return -1;
if (aKey > bKey)
return 1;
return 0;
})
var content = ""
var table = document.createElement("table")
var tr = document.createElement("tr")
var thRole = document.createElement("th")
thRole.style.fontWeight = "bold"
var thDescription = document.createElement("th")
thDescription.style.fontWeight = "bold"
thRole.innerText = "Character"
thDescription.innerText = "Description"
tr.append(thRole)
tr.append(thDescription)
table.append(tr);
for (var i = 0; i < interactions.length; i++)
{
var interaction = interactions[i]
var tr = document.createElement("tr")
var tdRole = document.createElement("td")
var tdValue = document.createElement("td")
if (interaction.primaryKey !== key)
{
tdRole.innerText = interaction.primary
tdValue.innerText = interaction.value
}
else
{
tdRole.innerText = interaction.secondary
tdValue.innerText = interaction.value
}
tr.append(tdRole)
tr.append(tdValue)
table.append(tr)
}
e_interactions.append(table)
});
});
});
*/
