tarot-cartes/models/suite.js
2024-02-04 17:30:56 +01:00

82 lines
2.1 KiB
JavaScript

/** @type {number} */
const num = card.num;
/** @type {string} */
const suite = card.suite;
const images = {
'spade': [
'../images/spade3.png',
'../images/spade5.png',
],
'diamond': [
'../images/diamond.png',
'../images/diamond2.png'
],
'club': [
'../images/club.png',
'../images/club2.png'
],
'heart': [
'../images/heart.png',
'../images/heart2.png'
]
}
const colors = {
'spade': '#ffffff',
'club': '#ffffff',
'diamond': '#ffc82f',
'heart': '#ffc82f',
}
let { filter } = colorize(colors[suite]);
filter = "invert(100%) " + filter.substring(8);
filter = filter.substring(0, filter.length - 1);
console.log(filter);
document.documentElement.style.setProperty("--color", colors[suite]);
document.documentElement.style.setProperty("--color-mask-filters", filter);
function card_name(num) {
if (num <= 10) return `${num}`;
return ['V', 'C', 'D', 'R'][num - 11];
}
const name_ = card_name(num);
document.querySelector("h1").innerText = name_;
const img = document.getElementById('suite-icon').src = images[suite][0];
/** @type {HTMLImageElement} */
const elem = document.querySelector("#suite img");
elem.src = images[suite][1];
elem.parentElement.removeChild(elem);
const exceptions = [
['V', '../images/V.png'],
['C', '../images/C.png'],
['D', '../images/D.png'],
['R', '../images/R.png'],
];
for (const [n, path] of exceptions)
if (name_ === n) { elem.src = path; elem.style.width = 250 + "px" }
const grid = document.querySelector("#suite div");
let i = num;
if (i > 10) i = 1;
while (i > 0) {
if (i >= 3) {
grid.children.item(0).append(elem.cloneNode(true));
grid.children.item(1).append(elem.cloneNode(true));
grid.children.item(2).append(elem.cloneNode(true));
i -= 3;
}
if (i >= 2) {
grid.children.item(0).append(elem.cloneNode(true));
grid.children.item(2).append(elem.cloneNode(true));
i -= 2;
}
if (i === 1) {
grid.children.item(1).append(elem.cloneNode(true));
i -= 1;
}
}