|
@@ -60,7 +60,6 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
body { font-family: 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); margin: 0; padding-bottom: 120px; transition: 0.3s; }
|
|
body { font-family: 'Segoe UI', sans-serif; background: var(--bg); color: var(--text); margin: 0; padding-bottom: 120px; transition: 0.3s; }
|
|
|
.container { max-width: 1200px; margin: auto; padding: 20px; }
|
|
.container { max-width: 1200px; margin: auto; padding: 20px; }
|
|
|
|
|
|
|
|
- /* HEADER FIX */
|
|
|
|
|
header {
|
|
header {
|
|
|
display: flex;
|
|
display: flex;
|
|
|
justify-content: space-between;
|
|
justify-content: space-between;
|
|
@@ -71,13 +70,12 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
}
|
|
}
|
|
|
h1 { color: var(--accent); margin: 0; font-size: 1.6em; }
|
|
h1 { color: var(--accent); margin: 0; font-size: 1.6em; }
|
|
|
|
|
|
|
|
- /* KOMPAKTER THEME-TOGGLE (Identisch zu den anderen Seiten) */
|
|
|
|
|
.theme-toggle {
|
|
.theme-toggle {
|
|
|
background: var(--card);
|
|
background: var(--card);
|
|
|
border: 1px solid var(--border);
|
|
border: 1px solid var(--border);
|
|
|
color: var(--text);
|
|
color: var(--text);
|
|
|
- width: 42px; /* Feste Breite */
|
|
|
|
|
- height: 34px; /* Feste Höhe */
|
|
|
|
|
|
|
+ width: 42px;
|
|
|
|
|
+ height: 34px;
|
|
|
padding: 0;
|
|
padding: 0;
|
|
|
border-radius: 10px;
|
|
border-radius: 10px;
|
|
|
cursor: pointer;
|
|
cursor: pointer;
|
|
@@ -86,13 +84,26 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
align-items: center;
|
|
align-items: center;
|
|
|
justify-content: center;
|
|
justify-content: center;
|
|
|
transition: 0.3s;
|
|
transition: 0.3s;
|
|
|
- flex-shrink: 0; /* Verhindert Aufblähen */
|
|
|
|
|
|
|
+ flex-shrink: 0;
|
|
|
}
|
|
}
|
|
|
.theme-toggle:hover { border-color: var(--accent); }
|
|
.theme-toggle:hover { border-color: var(--accent); }
|
|
|
|
|
|
|
|
- /* Swiper & Cards */
|
|
|
|
|
- .swiper { width: 100%; padding-bottom: 40px; }
|
|
|
|
|
|
|
+ /* Swiper & Modern Progress Bar */
|
|
|
|
|
+ .swiper { width: 100%; padding-top: 10px; padding-bottom: 40px; }
|
|
|
.swiper-slide { width: 320px; height: auto; }
|
|
.swiper-slide { width: 320px; height: auto; }
|
|
|
|
|
+
|
|
|
|
|
+ /* Stylen des Fortschrittsbalkens */
|
|
|
|
|
+ .swiper-pagination-progressbar {
|
|
|
|
|
+ background: var(--border) !important;
|
|
|
|
|
+ height: 4px !important;
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ top: 0 !important; /* Balken sitzt oben am Swiper */
|
|
|
|
|
+ }
|
|
|
|
|
+ .swiper-pagination-progressbar-fill {
|
|
|
|
|
+ background: var(--accent) !important;
|
|
|
|
|
+ border-radius: 2px;
|
|
|
|
|
+ }
|
|
|
|
|
+
|
|
|
.card { background: var(--card); border-radius: 12px; border: 1px solid var(--border); overflow: hidden; height: 100%; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
|
|
.card { background: var(--card); border-radius: 12px; border: 1px solid var(--border); overflow: hidden; height: 100%; box-shadow: 0 4px 15px rgba(0,0,0,0.1); }
|
|
|
.card img { width: 100%; height: 180px; object-fit: cover; opacity: 0.9; }
|
|
.card img { width: 100%; height: 180px; object-fit: cover; opacity: 0.9; }
|
|
|
.content { padding: 15px; }
|
|
.content { padding: 15px; }
|
|
@@ -107,7 +118,6 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
.level-Fortgeschrittene { background: #2980b9; }
|
|
.level-Fortgeschrittene { background: #2980b9; }
|
|
|
.level-unknown { background: #f39c12; }
|
|
.level-unknown { background: #f39c12; }
|
|
|
|
|
|
|
|
- /* Formulare & Layout */
|
|
|
|
|
.bottom-section { display: grid; grid-template-columns: 1fr 2fr; gap: 20px; margin-top: 20px; }
|
|
.bottom-section { display: grid; grid-template-columns: 1fr 2fr; gap: 20px; margin-top: 20px; }
|
|
|
@media (max-width: 768px) { .bottom-section { grid-template-columns: 1fr; } }
|
|
@media (max-width: 768px) { .bottom-section { grid-template-columns: 1fr; } }
|
|
|
|
|
|
|
@@ -117,14 +127,12 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
input, select { width: 100%; padding: 10px; background: var(--input-bg); border: 1px solid var(--border); color: var(--text); border-radius: 5px; box-sizing: border-box; margin-bottom: 10px; }
|
|
input, select { width: 100%; padding: 10px; background: var(--input-bg); border: 1px solid var(--border); color: var(--text); border-radius: 5px; box-sizing: border-box; margin-bottom: 10px; }
|
|
|
button { background: var(--accent); color: white; border: none; padding: 12px; border-radius: 5px; cursor: pointer; font-weight: bold; width: 100%; }
|
|
button { background: var(--accent); color: white; border: none; padding: 12px; border-radius: 5px; cursor: pointer; font-weight: bold; width: 100%; }
|
|
|
|
|
|
|
|
- /* Footer Nav */
|
|
|
|
|
.footer-nav { position: fixed; bottom: 0; left: 0; width: 100%; background: var(--footer-bg); border-top: 2px solid var(--accent); padding: 15px 0; display: flex; justify-content: center; gap: 20px; z-index: 1000; flex-wrap: wrap; }
|
|
.footer-nav { position: fixed; bottom: 0; left: 0; width: 100%; background: var(--footer-bg); border-top: 2px solid var(--accent); padding: 15px 0; display: flex; justify-content: center; gap: 20px; z-index: 1000; flex-wrap: wrap; }
|
|
|
.footer-nav a { color: var(--accent); text-decoration: none; font-weight: bold; font-size: 0.8em; padding: 5px 10px; border: 1px solid transparent; transition: 0.3s; }
|
|
.footer-nav a { color: var(--accent); text-decoration: none; font-weight: bold; font-size: 0.8em; padding: 5px 10px; border: 1px solid transparent; transition: 0.3s; }
|
|
|
.footer-nav a:hover { border-color: var(--accent); border-radius: 5px; }
|
|
.footer-nav a:hover { border-color: var(--accent); border-radius: 5px; }
|
|
|
|
|
|
|
|
.info-section a { color: var(--accent); text-decoration: none; display: block; padding: 10px; border: 1px dashed var(--border); border-radius: 8px; text-align: center; }
|
|
.info-section a { color: var(--accent); text-decoration: none; display: block; padding: 10px; border: 1px dashed var(--border); border-radius: 8px; text-align: center; }
|
|
|
|
|
|
|
|
- /* Modal */
|
|
|
|
|
#playerModal { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--card); padding: 30px; border-radius: 12px; border: 1px solid var(--accent); z-index: 2000; box-shadow: 0 0 50px rgba(0,0,0,0.5); color: var(--text); }
|
|
#playerModal { display: none; position: fixed; top: 50%; left: 50%; transform: translate(-50%, -50%); background: var(--card); padding: 30px; border-radius: 12px; border: 1px solid var(--accent); z-index: 2000; box-shadow: 0 0 50px rgba(0,0,0,0.5); color: var(--text); }
|
|
|
.overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1500; }
|
|
.overlay { display: none; position: fixed; top: 0; left: 0; width: 100%; height: 100%; background: rgba(0,0,0,0.7); z-index: 1500; }
|
|
|
</style>
|
|
</style>
|
|
@@ -141,6 +149,8 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
</header>
|
|
</header>
|
|
|
|
|
|
|
|
<div class="swiper mySwiper">
|
|
<div class="swiper mySwiper">
|
|
|
|
|
+ <div class="swiper-pagination"></div>
|
|
|
|
|
+
|
|
|
<div class="swiper-wrapper">
|
|
<div class="swiper-wrapper">
|
|
|
<?php foreach ($exitGames as $game):
|
|
<?php foreach ($exitGames as $game):
|
|
|
$lvl_class = (empty($game['level']) || strtolower($game['level']) == 'unknown') ? 'unknown' : $game['level'];
|
|
$lvl_class = (empty($game['level']) || strtolower($game['level']) == 'unknown') ? 'unknown' : $game['level'];
|
|
@@ -171,7 +181,6 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
</div>
|
|
</div>
|
|
|
<?php endforeach; ?>
|
|
<?php endforeach; ?>
|
|
|
</div>
|
|
</div>
|
|
|
- <div class="swiper-pagination"></div>
|
|
|
|
|
</div>
|
|
</div>
|
|
|
|
|
|
|
|
<div class="bottom-section">
|
|
<div class="bottom-section">
|
|
@@ -238,13 +247,16 @@ $allScores = $pdo->query($sqlScores)->fetchAll();
|
|
|
|
|
|
|
|
if (localStorage.getItem('theme') === 'dark') updateIcon(true);
|
|
if (localStorage.getItem('theme') === 'dark') updateIcon(true);
|
|
|
|
|
|
|
|
- // Swiper
|
|
|
|
|
|
|
+ // Swiper Initialisierung mit Progressbar
|
|
|
const swiper = new Swiper(".mySwiper", {
|
|
const swiper = new Swiper(".mySwiper", {
|
|
|
slidesPerView: "auto",
|
|
slidesPerView: "auto",
|
|
|
spaceBetween: 20,
|
|
spaceBetween: 20,
|
|
|
centeredSlides: false,
|
|
centeredSlides: false,
|
|
|
grabCursor: true,
|
|
grabCursor: true,
|
|
|
- pagination: { el: ".swiper-pagination", clickable: true },
|
|
|
|
|
|
|
+ pagination: {
|
|
|
|
|
+ el: ".swiper-pagination",
|
|
|
|
|
+ type: "progressbar", // Die Lösung für das "Punkte"-Problem
|
|
|
|
|
+ },
|
|
|
});
|
|
});
|
|
|
|
|
|
|
|
// Modal
|
|
// Modal
|