diff --git a/public/images/items/blauer-cristal.png b/public/images/items/blauer-cristal.png index 780d943..d922889 100644 Binary files a/public/images/items/blauer-cristal.png and b/public/images/items/blauer-cristal.png differ diff --git a/public/images/items/gelber-cristal.png b/public/images/items/gelber-cristal.png new file mode 100644 index 0000000..a07a90a Binary files /dev/null and b/public/images/items/gelber-cristal.png differ diff --git a/public/images/items/gruener-cristal.png b/public/images/items/gruener-cristal.png new file mode 100644 index 0000000..e34a93c Binary files /dev/null and b/public/images/items/gruener-cristal.png differ diff --git a/public/images/items/oranger-cristal.png b/public/images/items/oranger-cristal.png new file mode 100644 index 0000000..6e816cb Binary files /dev/null and b/public/images/items/oranger-cristal.png differ diff --git a/public/images/items/pinker-cristal.png b/public/images/items/pinker-cristal.png new file mode 100644 index 0000000..db9d754 Binary files /dev/null and b/public/images/items/pinker-cristal.png differ diff --git a/public/images/items/roter-cristal.png b/public/images/items/roter-cristal.png new file mode 100644 index 0000000..e1857d6 Binary files /dev/null and b/public/images/items/roter-cristal.png differ diff --git a/public/images/items/violet-cristal.png b/public/images/items/violet-cristal.png new file mode 100644 index 0000000..d842488 Binary files /dev/null and b/public/images/items/violet-cristal.png differ diff --git a/public/js/quickmenu/carddeck.js b/public/js/quickmenu/carddeck.js index b1594e2..4984b9b 100644 --- a/public/js/quickmenu/carddeck.js +++ b/public/js/quickmenu/carddeck.js @@ -7,6 +7,24 @@ let deckCards = []; // [{card_id, level, amount}] let userCardsCache = []; // aktuelle Seite: [{card_id, level, amount, name, image, attack, defense}] let decks = []; // [{id, name}] + +/* ── Kristall-Mapping ───────────────────────── */ +const RARITY_CRYSTALS = { + "1": "roter-cristal.png", + "2": "blauer-cristal.png", + "3": "gelber-cristal.png", + "4": "gruener-cristal.png", + "5": "oranger-cristal.png", + "6": "violet-cristal.png", + "7": "pinker-cristal.png", +}; + +function rarityImg(rarity, size = 16) { + const file = RARITY_CRYSTALS[String(rarity)]; + if (!file) return ""; + return `Stufe ${rarity}`; +} + /* ══════════════════════════════════════════════ INIT ══════════════════════════════════════════════ */ @@ -397,6 +415,16 @@ function renderShell() { } .kd-deck-count-indeck { font-family: "Cinzel", serif; font-size: 13px; color: #88cc44; font-weight: bold; } + /* ── Rarity Kristall ────────────────────── */ + .kd-rarity { + position: absolute; + top: 3px; + right: 4px; + z-index: 5; + pointer-events: none; + line-height: 0; + } + /* ── Empty / Loading States ──────────────── */ .kd-empty { grid-column: 1 / -1; text-align: center; @@ -691,6 +719,7 @@ function renderCollectionGrid(grid, cards) { data-card-id="${c.card_id}" data-level="${c.level}" title="${c.name} (Level ${c.level})">
${c.name}
+ ${c.rarity ? `${rarityImg(c.rarity, 15)}` : ""} ${c.name} ${c.attack != null ? `${c.attack}` : ""} @@ -726,6 +755,7 @@ function renderDeckGrid(grid, cards) { const ownedAmt = ownedEntry ? ownedEntry.amount : "?"; return `
+ ${c.rarity ? `${rarityImg(c.rarity, 18)}` : ""} ${c.name}