diff --git a/app.js b/app.js index 78391b0..4101462 100644 --- a/app.js +++ b/app.js @@ -346,7 +346,7 @@ app.use("/api/mine", mineRoute); app.use("/api", carddeckRoutes); app.use("/arena", arenaRoutes); app.use("/api", boosterRoutes); - +app.use("/api", require("./routes/daily")); /* ======================== 404 Handler ======================== */ diff --git a/public/css/events.css b/public/css/events.css index e9ba778..ab365aa 100644 --- a/public/css/events.css +++ b/public/css/events.css @@ -80,32 +80,54 @@ } @keyframes eventDetailIn { - from { opacity: 0; transform: translateY(6px); } - to { opacity: 1; transform: translateY(0); } + from { + opacity: 0; + transform: translateY(6px); + } + to { + opacity: 1; + transform: translateY(0); + } } #event-detail-popup .edp-close { position: absolute; - top: 6px; right: 8px; - background: none; border: none; - color: #888; font-size: 11px; cursor: pointer; line-height: 1; + top: 6px; + right: 8px; + background: none; + border: none; + color: #888; + font-size: 11px; + cursor: pointer; + line-height: 1; transition: color 0.1s; } -#event-detail-popup .edp-close:hover { color: #fff; } +#event-detail-popup .edp-close:hover { + color: #fff; +} #event-detail-popup .edp-img { - display: block; margin: 0 auto 8px; - width: 44px; height: 44px; - object-fit: contain; image-rendering: pixelated; + display: block; + margin: 0 auto 8px; + width: 44px; + height: 44px; + object-fit: contain; + image-rendering: pixelated; } #event-detail-popup .edp-title { - text-align: center; font-size: 11px; font-weight: bold; - color: #f5c842; margin-bottom: 6px; + text-align: center; + font-size: 11px; + font-weight: bold; + color: #f5c842; + margin-bottom: 6px; } #event-detail-popup .edp-body { - font-size: 10px; color: #cccccc; line-height: 1.6; text-align: center; + font-size: 10px; + color: #cccccc; + line-height: 1.6; + text-align: center; } /* ================================ @@ -128,7 +150,9 @@ border-radius: 4px; cursor: pointer; font-family: "Cinzel", serif; - transition: background 0.15s, color 0.15s; + transition: + background 0.15s, + color 0.15s; } .booster-back-btn:hover { background: rgba(200, 150, 12, 0.15); @@ -160,7 +184,9 @@ cursor: pointer; image-rendering: pixelated; filter: drop-shadow(0 4px 12px rgba(200, 150, 12, 0.4)); - transition: transform 0.15s ease, filter 0.15s ease; + transition: + transform 0.15s ease, + filter 0.15s ease; border: 2px solid rgba(255, 255, 255, 0.1); border-radius: 6px; display: block; @@ -173,7 +199,7 @@ .booster-stapel-img.used { cursor: default; - filter: drop-shadow(0 2px 6px rgba(0,0,0,0.3)); + filter: drop-shadow(0 2px 6px rgba(0, 0, 0, 0.3)); } .booster-stapel-hint { @@ -227,9 +253,18 @@ } @keyframes revealPop { - 0% { transform: scale(0.85); opacity: 0.5; } - 60% { transform: scale(1.06); opacity: 1; } - 100% { transform: scale(1); opacity: 1; } + 0% { + transform: scale(0.85); + opacity: 0.5; + } + 60% { + transform: scale(1.06); + opacity: 1; + } + 100% { + transform: scale(1); + opacity: 1; + } } .booster-slot-img { @@ -324,7 +359,7 @@ left: 0; right: 0; padding: 2px 3px; - background: linear-gradient(transparent, rgba(0,0,0,0.82)); + background: linear-gradient(transparent, rgba(0, 0, 0, 0.82)); font-family: "Cinzel", serif; font-size: 7px; color: #f0d9a6; @@ -334,3 +369,25 @@ z-index: 5; pointer-events: none; } + +.event-done { + opacity: 0.5; + cursor: not-allowed; +} +.event-done-overlay { + position: absolute; + inset: 0; + display: flex; + align-items: center; + justify-content: center; + font-size: 2rem; + color: #4caf50; + font-weight: bold; + background: rgba(0, 0, 0, 0.35); + border-radius: inherit; +} +.event-done-label { + font-size: 0.7rem; + color: #888; + margin-top: 2px; +}