dtk
This commit is contained in:
parent
d618b9d04f
commit
b9fd729f2c
@ -249,16 +249,39 @@ function renderShell() {
|
|||||||
border-radius: 6px 6px 0 0;
|
border-radius: 6px 6px 0 0;
|
||||||
}
|
}
|
||||||
.kd-stat-atk {
|
.kd-stat-atk {
|
||||||
position: absolute; bottom: 22px; left: 4px;
|
position: absolute;
|
||||||
background: rgba(180,40,20,0.9); border: 1px solid #ff6040;
|
right: 4px;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
background: rgba(180,40,20,0.88);
|
||||||
|
border: 1px solid #ff6040;
|
||||||
border-radius: 3px; color: #fff; font-family: "Cinzel", serif;
|
border-radius: 3px; color: #fff; font-family: "Cinzel", serif;
|
||||||
font-size: 10px; font-weight: bold; padding: 1px 4px;
|
font-size: 10px; font-weight: bold; padding: 2px 5px;
|
||||||
|
z-index: 5;
|
||||||
}
|
}
|
||||||
.kd-stat-def {
|
.kd-stat-def {
|
||||||
position: absolute; bottom: 22px; right: 4px;
|
position: absolute;
|
||||||
background: rgba(20,80,180,0.9); border: 1px solid #4090ff;
|
left: 4px;
|
||||||
|
top: 50%;
|
||||||
|
transform: translateY(-50%);
|
||||||
|
background: rgba(20,80,180,0.88);
|
||||||
|
border: 1px solid #4090ff;
|
||||||
border-radius: 3px; color: #fff; font-family: "Cinzel", serif;
|
border-radius: 3px; color: #fff; font-family: "Cinzel", serif;
|
||||||
font-size: 10px; font-weight: bold; padding: 1px 4px;
|
font-size: 10px; font-weight: bold; padding: 2px 5px;
|
||||||
|
z-index: 5;
|
||||||
|
}
|
||||||
|
.kd-stat-cd {
|
||||||
|
position: absolute;
|
||||||
|
bottom: 3px;
|
||||||
|
right: 3px;
|
||||||
|
width: 22px; height: 22px;
|
||||||
|
border-radius: 50%;
|
||||||
|
background: rgba(0,0,0,0.75);
|
||||||
|
border: 1px solid #f0d060;
|
||||||
|
display: flex; align-items: center; justify-content: center;
|
||||||
|
font-family: "Cinzel", serif; font-size: 9px; font-weight: bold;
|
||||||
|
color: #f0d9a6;
|
||||||
|
z-index: 5;
|
||||||
}
|
}
|
||||||
|
|
||||||
/* ── Karten-Footer: Anzahlen ────────────── */
|
/* ── Karten-Footer: Anzahlen ────────────── */
|
||||||
@ -727,7 +750,8 @@ function renderCollectionGrid(grid, cards) {
|
|||||||
<img src="/images/cards/${c.image}" alt="${c.name}"
|
<img src="/images/cards/${c.image}" alt="${c.name}"
|
||||||
onerror="this.src='/images/avatar_placeholder.svg'">
|
onerror="this.src='/images/avatar_placeholder.svg'">
|
||||||
${c.attack != null ? `<span class="kd-stat-atk">${c.attack}</span>` : ""}
|
${c.attack != null ? `<span class="kd-stat-atk">${c.attack}</span>` : ""}
|
||||||
${c.defense != null ? `<span class="kd-stat-def">${c.defense}</span>` : ""}
|
${c.defends != null ? `<span class="kd-stat-def">${c.defends}</span>` : ""}
|
||||||
|
${c.cooldown != null ? `<span class="kd-stat-cd">${c.cooldown}</span>` : ""}
|
||||||
<div class="kd-card-footer">
|
<div class="kd-card-footer">
|
||||||
<span class="kd-count-owned" title="Besitzt du">${c.amount}×</span>
|
<span class="kd-count-owned" title="Besitzt du">${c.amount}×</span>
|
||||||
<span class="kd-count-deck" title="Im Deck">🃏 ${inDeck}</span>
|
<span class="kd-count-deck" title="Im Deck">🃏 ${inDeck}</span>
|
||||||
|
|||||||
@ -40,10 +40,9 @@ router.get("/cards", async (req, res) => {
|
|||||||
try {
|
try {
|
||||||
const [cards] = await db.query(
|
const [cards] = await db.query(
|
||||||
`SELECT c.*, cg.name AS group_name, cg.color AS group_color,
|
`SELECT c.*, cg.name AS group_name, cg.color AS group_color,
|
||||||
cl.attack, cl.defense, cl.cooldown
|
c.attack, c.defends, c.cooldown
|
||||||
FROM cards c
|
FROM cards c
|
||||||
LEFT JOIN card_groups cg ON cg.id = c.group_id
|
LEFT JOIN card_groups cg ON cg.id = c.group_id
|
||||||
LEFT JOIN card_levels cl ON cl.card_id = c.id AND cl.level = 1
|
|
||||||
WHERE c.group_id = ?
|
WHERE c.group_id = ?
|
||||||
LIMIT ? OFFSET ?`,
|
LIMIT ? OFFSET ?`,
|
||||||
[group_id, parseInt(limit), parseInt(offset)]
|
[group_id, parseInt(limit), parseInt(offset)]
|
||||||
@ -79,13 +78,12 @@ router.get("/user-cards", async (req, res) => {
|
|||||||
c.rarity,
|
c.rarity,
|
||||||
cg.name AS group_name,
|
cg.name AS group_name,
|
||||||
cg.color AS group_color,
|
cg.color AS group_color,
|
||||||
cl.attack,
|
c.attack,
|
||||||
cl.defense,
|
c.defends,
|
||||||
cl.cooldown
|
c.cooldown
|
||||||
FROM user_cards uc
|
FROM user_cards uc
|
||||||
JOIN cards c ON c.id = uc.card_id
|
JOIN cards c ON c.id = uc.card_id
|
||||||
JOIN card_groups cg ON cg.id = c.group_id
|
JOIN card_groups cg ON cg.id = c.group_id
|
||||||
LEFT JOIN card_levels cl ON cl.card_id = uc.card_id AND cl.level = 1
|
|
||||||
WHERE uc.user_id = ? AND c.group_id = ?
|
WHERE uc.user_id = ? AND c.group_id = ?
|
||||||
ORDER BY c.id
|
ORDER BY c.id
|
||||||
LIMIT ? OFFSET ?`,
|
LIMIT ? OFFSET ?`,
|
||||||
@ -189,11 +187,11 @@ router.get("/decks/:id/cards", async (req, res) => {
|
|||||||
c.name,
|
c.name,
|
||||||
c.image,
|
c.image,
|
||||||
c.rarity,
|
c.rarity,
|
||||||
cl.attack,
|
c.attack,
|
||||||
cl.defense
|
c.defends,
|
||||||
|
c.cooldown
|
||||||
FROM deck_cards dc
|
FROM deck_cards dc
|
||||||
JOIN cards c ON c.id = dc.card_id
|
JOIN cards c ON c.id = dc.card_id
|
||||||
LEFT JOIN card_levels cl ON cl.card_id = dc.card_id AND cl.level = 1
|
|
||||||
WHERE dc.deck_id = ?
|
WHERE dc.deck_id = ?
|
||||||
ORDER BY c.name`,
|
ORDER BY c.name`,
|
||||||
[deckId]
|
[deckId]
|
||||||
|
|||||||
Loading…
Reference in New Issue
Block a user