|
|
Line 72: |
Line 72: |
| div.classList.add('loaded'); | | 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)
| |
| });
| |
|
| |
| });
| |
| });
| |
| */
| |
Revision as of 16:57, 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');
}