fixed stats page to show correct number of skipped clues. reflected this change accurately in leaderboards for users and admins as to not create a bug where a skipped clue would contribute to progress

This commit is contained in:
bobbert committed 2025-03-18 22:35:04 +00:00
1 parent 2f9a6c732c
commit 4cd449c0cf
8 files changed
+46 -39

No files matched your search

+1 -1
View File
@@ -588,7 +588,7 @@ export default function CluePage({ params }) {
</div>
</div>
)}
{clueSkipped && !clueFound && (
<div className="clue-skipped-notification">
<div className="clue-skipped-icon">↷</div>
+4 -2
View File
@@ -338,8 +338,10 @@ export default function MapPage() {
// Function to determine clue button class based on status
const getClueButtonClass = (clue) => {
if (clue.found) return `${styles["clue-button"]} ${styles["clue-found"]}`;
if (clue.skipped) return `${styles["clue-button"]} ${styles["clue-skipped"]}`;
if (clue.available) return `${styles["clue-button"]} ${styles["clue-available"]}`;
if (clue.skipped)
return `${styles["clue-button"]} ${styles["clue-skipped"]}`;
if (clue.available)
return `${styles["clue-button"]} ${styles["clue-available"]}`;
return `${styles["clue-button"]} ${styles["clue-locked"]}`;
};
+19 -11
View File
@@ -86,14 +86,18 @@ export default function StatsPage() {
return (
<div className="clues-section">
<h3 className="section-title">Found Clues ({foundClues?.length || 0})</h3>
<h3 className="section-title">
Found Clues ({foundClues?.length || 0})
</h3>
<ul className="clue-list">
{foundClues?.length > 0 ? (
foundClues.map(clue => (
foundClues.map((clue) => (
<li key={clue.id} className="clue-item">
<div className="clue-icon found">✓</div>
<div className="clue-details">
<div className="clue-title">{clue.title || `Clue #${clue.id}`}</div>
<div className="clue-title">
{clue.title || `Clue #${clue.id}`}
</div>
<div className="clue-time">
{new Date(clue.found_at).toLocaleTimeString()}
</div>
@@ -105,14 +109,18 @@ export default function StatsPage() {
)}
</ul>
<h3 className="section-title">Skipped Clues ({skippedClues?.length || 0})</h3>
<h3 className="section-title">
Skipped Clues ({skippedClues?.length || 0})
</h3>
<ul className="clue-list">
{skippedClues?.length > 0 ? (
skippedClues.map(clue => (
skippedClues.map((clue) => (
<li key={clue.id} className="clue-item">
<div className="clue-icon skipped">↷</div>
<div className="clue-details">
<div className="clue-title">{clue.title || `Clue #${clue.id}`}</div>
<div className="clue-title">
{clue.title || `Clue #${clue.id}`}
</div>
<div className="clue-time">
Skipped at {new Date(clue.found_at).toLocaleTimeString()}
</div>
@@ -182,7 +190,7 @@ export default function StatsPage() {
<div className={styles.statItem}>
<span className={styles.statLabel}>Clues Found:</span>
<span className={styles.statValue}>
{teamStats.foundClues.length}
{teamStats.foundClues.length} of {teamStats.totalClues}
</span>
</div>
<div className={styles.statItem}>
@@ -191,7 +199,9 @@ export default function StatsPage() {
</div>
<div className={styles.statItem}>
<span className={styles.statLabel}>Clues Skipped:</span>
<span className={styles.statValue}>{teamStats.skippedClues}</span>
<span className={styles.statValue}>
{teamStats.skippedCluesCount}
</span>
</div>
<div className={`${styles.statItem} ${styles.rankItem}`}>
<span className={styles.statLabel}>Current Rank:</span>
@@ -214,9 +224,7 @@ export default function StatsPage() {
</button>
{expanded && (
<div className={styles.cluesList}>
{renderCluesList()}
</div>
<div className={styles.cluesList}>{renderCluesList()}</div>
)}
</div>
</div>