Private
Public Access
1
0

feat: Prepare per-team cooldown and cooldown fixing

This commit is contained in:
gauvainboiche
2026-03-30 22:19:21 +02:00
parent 2757fa2393
commit d81f8332ac
3 changed files with 60 additions and 31 deletions

View File

@@ -1,5 +1,5 @@
{ {
"clickCooldownSeconds": 10, "clickCooldownSeconds": 0,
"databaseWipeoutIntervalSeconds": 21600, "databaseWipeoutIntervalSeconds": 21600,
"debugModeForTeams": true, "debugModeForTeams": true,
"configReloadIntervalSeconds": 30, "configReloadIntervalSeconds": 30,

View File

@@ -95,11 +95,11 @@
<div class="scoreStats"> <div class="scoreStats">
<div class="scoreStat"> <div class="scoreStat">
<span class="scoreStatVal scoreValue" id="scoreBlue">0</span> <span class="scoreStatVal scoreValue" id="scoreBlue">0</span>
<span class="scoreStatLabel">planètes</span> <span class="scoreStatLabel">Tuiles</span>
</div> </div>
<div class="scoreStat"> <div class="scoreStat">
<span class="scoreStatVal scoreVP" id="vpBlue">0</span> <span class="scoreStatVal scoreVP" id="vpBlue">0</span>
<span class="scoreStatLabel">pts victoire</span> <span class="scoreStatLabel">Points</span>
</div> </div>
</div> </div>
</div> </div>
@@ -109,11 +109,11 @@
<div class="scoreStats"> <div class="scoreStats">
<div class="scoreStat"> <div class="scoreStat">
<span class="scoreStatVal scoreVP" id="vpRed">0</span> <span class="scoreStatVal scoreVP" id="vpRed">0</span>
<span class="scoreStatLabel">pts victoire</span> <span class="scoreStatLabel">Points</span>
</div> </div>
<div class="scoreStat"> <div class="scoreStat">
<span class="scoreStatVal scoreValue" id="scoreRed">0</span> <span class="scoreStatVal scoreValue" id="scoreRed">0</span>
<span class="scoreStatLabel">planètes</span> <span class="scoreStatLabel">Tuiles</span>
</div> </div>
</div> </div>
</div> </div>

View File

@@ -302,6 +302,16 @@ body {
flex: 1; flex: 1;
} }
.scoreTeam--blue {
align-items: flex-end;
text-align: right;
}
.scoreTeam--red {
align-items: flex-start;
text-align: left;
}
.scoreTeamName { .scoreTeamName {
font-size: 10px; font-size: 10px;
font-weight: 700; font-weight: 700;
@@ -365,6 +375,7 @@ body {
font-size: 18px; font-size: 18px;
font-weight: 800; font-weight: 800;
flex-shrink: 0; flex-shrink: 0;
flex: 0 0 auto;
} }
/* ── Main app layout ──────────────────────────────────────────────────────── */ /* ── Main app layout ──────────────────────────────────────────────────────── */
@@ -482,12 +493,6 @@ body {
/* Countdown row */ /* Countdown row */
#countdownWrap { #countdownWrap {
opacity: 1; opacity: 1;
transition: opacity 0.2s;
}
#countdownWrap.hidden {
visibility: hidden;
pointer-events: none;
} }
.countdownLabel { .countdownLabel {
@@ -508,6 +513,21 @@ body {
font-family: "Courier New", Courier, monospace; font-family: "Courier New", Courier, monospace;
} }
/* When cooldown is available (not active) */
#countdownWrap.cooldown--available .countdownLabel {
color: inherit;
opacity: 0.65 !important;
font-weight: normal;
text-transform: none;
letter-spacing: normal;
}
#countdownWrap.cooldown--available .countdownVal {
color: inherit;
font-size: 11px;
font-weight: normal;
}
.countdown { .countdown {
font-family: "Courier New", Courier, monospace; font-family: "Courier New", Courier, monospace;
font-variant-numeric: tabular-nums; font-variant-numeric: tabular-nums;
@@ -657,9 +677,6 @@ button:hover {
flex-direction: column; flex-direction: column;
gap: 6px; gap: 6px;
padding: 8px 12px; padding: 8px 12px;
border-radius: 12px;
border: 1px solid rgba(255, 255, 255, 0.08);
background: rgba(255, 255, 255, 0.03);
font-family: "Courier New", Courier, monospace; font-family: "Courier New", Courier, monospace;
font-size: 12px; font-size: 12px;
} }
@@ -668,6 +685,15 @@ button:hover {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 8px; gap: 8px;
flex: 1;
}
.econSummaryTeam--blue {
justify-content: flex-end;
}
.econSummaryTeam--red {
justify-content: flex-start;
} }
.econSummaryTeam--blue .econSummaryLabel { color: rgba(90, 200, 255, 0.85); } .econSummaryTeam--blue .econSummaryLabel { color: rgba(90, 200, 255, 0.85); }
@@ -677,6 +703,8 @@ button:hover {
.econSummarySep { .econSummarySep {
opacity: 0.3; opacity: 0.3;
flex: 0 0 auto;
margin: 0 6px;
} }
/* ── Economic score (cumulative) ──────────────────────────────────────────── */ /* ── Economic score (cumulative) ──────────────────────────────────────────── */
@@ -684,9 +712,9 @@ button:hover {
.econSummaryRow { .econSummaryRow {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: center;
width: 100%; width: 100%;
gap: 8px; gap: 0;
} }
.econSummaryRow--score { .econSummaryRow--score {
@@ -844,34 +872,31 @@ button:hover {
display: flex; display: flex;
flex-direction: column; flex-direction: column;
gap: 6px; gap: 6px;
padding: 10px 14px; padding: 8px 12px;
border-radius: 12px;
border: 1px solid rgba(255, 220, 100, 0.15);
background: rgba(255, 200, 50, 0.04);
font-family: "Courier New", Courier, monospace; font-family: "Courier New", Courier, monospace;
font-size: 12px; font-size: 12px;
} }
.elemBonusSectionTitle {
font-size: 11px;
font-weight: 700;
text-transform: uppercase;
letter-spacing: 0.06em;
opacity: 0.7;
margin-bottom: 2px;
}
.elemBonusRow { .elemBonusRow {
display: flex; display: flex;
align-items: center; align-items: center;
justify-content: space-between; justify-content: center;
gap: 6px; gap: 0;
} }
.elemBonusTeam { .elemBonusTeam {
display: flex; display: flex;
align-items: center; align-items: center;
gap: 5px; gap: 5px;
flex: 1;
}
.elemBonusTeam--blue {
justify-content: flex-end;
}
.elemBonusTeam--red {
justify-content: flex-start;
} }
.elemBonusTeam--blue .elemBonusLabel { color: rgba(90, 200, 255, 0.75); font-size: 10px; } .elemBonusTeam--blue .elemBonusLabel { color: rgba(90, 200, 255, 0.75); font-size: 10px; }
@@ -886,6 +911,8 @@ button:hover {
.elemBonusSep { .elemBonusSep {
opacity: 0.3; opacity: 0.3;
flex: 0 0 auto;
margin: 0 6px;
} }
.elemBonusDetail { .elemBonusDetail {
@@ -990,8 +1017,10 @@ button:hover {
width: var(--map-size); width: var(--map-size);
height: var(--map-size); height: var(--map-size);
flex-shrink: 0; flex-shrink: 0;
flex-grow: 0;
background: #050810; background: #050810;
overflow: hidden; overflow: hidden;
align-self: flex-start;
} }
canvas { canvas {