82 lines
2.1 KiB
JavaScript
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;
|
|
}
|
|
}
|