Add Local leaderboard, CSS optimiztion
This commit is contained in:
@@ -24,6 +24,7 @@
|
||||
</div>
|
||||
|
||||
<img src="/pictures/erlebniss.png" class="logo" alt="NinjaCross Logo" />
|
||||
<a href="/leaderboard.html" class="leaderboard-btn">🏆</a>
|
||||
<a href="/settings" class="settings-btn">⚙️</a>
|
||||
|
||||
<div class="heartbeat-indicators">
|
||||
@@ -73,33 +74,7 @@
|
||||
|
||||
<div class="best-times">
|
||||
<h3>🏆 Lokales Leaderboard</h3>
|
||||
<div id="leaderboard-container">
|
||||
<div class="leaderboard-entry">
|
||||
<span class="rank">1.</span>
|
||||
<span class="name">Max Mustermann</span>
|
||||
<span class="time">23.45</span>
|
||||
</div>
|
||||
<div class="leaderboard-entry">
|
||||
<span class="rank">2.</span>
|
||||
<span class="name">Anna Schmidt</span>
|
||||
<span class="time">24.67</span>
|
||||
</div>
|
||||
<div class="leaderboard-entry">
|
||||
<span class="rank">3.</span>
|
||||
<span class="name">Tom Weber</span>
|
||||
<span class="time">25.89</span>
|
||||
</div>
|
||||
<div class="leaderboard-entry">
|
||||
<span class="rank">4.</span>
|
||||
<span class="name">Lisa Müller</span>
|
||||
<span class="time">26.12</span>
|
||||
</div>
|
||||
<div class="leaderboard-entry">
|
||||
<span class="rank">5.</span>
|
||||
<span class="name">Paul Fischer</span>
|
||||
<span class="time">27.34</span>
|
||||
</div>
|
||||
</div>
|
||||
<div id="leaderboard-container"></div>
|
||||
</div>
|
||||
|
||||
<script>
|
||||
@@ -396,10 +371,25 @@
|
||||
return;
|
||||
}
|
||||
|
||||
// Erstelle zwei Reihen für 2x3 Layout
|
||||
const row1 = document.createElement("div");
|
||||
row1.className = "leaderboard-row";
|
||||
const row2 = document.createElement("div");
|
||||
row2.className = "leaderboard-row";
|
||||
|
||||
leaderboardData.forEach((entry, index) => {
|
||||
const entryDiv = document.createElement("div");
|
||||
entryDiv.className = "leaderboard-entry";
|
||||
|
||||
// Podium-Plätze hervorheben
|
||||
if (index === 0) {
|
||||
entryDiv.classList.add("gold");
|
||||
} else if (index === 1) {
|
||||
entryDiv.classList.add("silver");
|
||||
} else if (index === 2) {
|
||||
entryDiv.classList.add("bronze");
|
||||
}
|
||||
|
||||
const rankSpan = document.createElement("span");
|
||||
rankSpan.className = "rank";
|
||||
rankSpan.textContent = entry.rank + ".";
|
||||
@@ -415,8 +405,19 @@
|
||||
entryDiv.appendChild(rankSpan);
|
||||
entryDiv.appendChild(nameSpan);
|
||||
entryDiv.appendChild(timeSpan);
|
||||
container.appendChild(entryDiv);
|
||||
|
||||
// Erste 3 Einträge in die erste Reihe, nächste 3 in die zweite Reihe
|
||||
if (index < 3) {
|
||||
row1.appendChild(entryDiv);
|
||||
} else if (index < 6) {
|
||||
row2.appendChild(entryDiv);
|
||||
}
|
||||
});
|
||||
|
||||
container.appendChild(row1);
|
||||
if (leaderboardData.length > 3) {
|
||||
container.appendChild(row2);
|
||||
}
|
||||
}
|
||||
|
||||
function updateDisplay() {
|
||||
@@ -452,7 +453,7 @@
|
||||
s1.textContent = "Bereit für den Start!";
|
||||
break;
|
||||
case "running":
|
||||
s1.textContent = "Läuft - Du schaffst das!";
|
||||
s1.textContent = "Läuft - Gib alles!";
|
||||
break;
|
||||
case "finished":
|
||||
s1.textContent = "Geschafft!";
|
||||
@@ -478,7 +479,7 @@
|
||||
s2.textContent = "Bereit für den Start!";
|
||||
break;
|
||||
case "running":
|
||||
s2.textContent = "Läuft - Du schaffst das!";
|
||||
s2.textContent = "Läuft - Gib alles!";
|
||||
break;
|
||||
case "finished":
|
||||
s2.textContent = "Geschafft!";
|
||||
|
||||
Reference in New Issue
Block a user