Promote rcon historical model to primary

This commit is contained in:
devRaGonSa
2026-03-26 07:18:56 +01:00
parent cdcd4523b4
commit 50bfadf471
14 changed files with 964 additions and 228 deletions

View File

@@ -311,6 +311,49 @@ h2 {
color: var(--accent-warm);
}
.servers-loading,
.servers-empty {
display: grid;
justify-items: center;
gap: 14px;
width: 100%;
padding: 36px 24px;
border: 1px dashed rgba(183, 201, 125, 0.24);
border-radius: 18px;
background: linear-gradient(180deg, rgba(19, 24, 16, 0.72), rgba(10, 13, 9, 0.84));
color: var(--text-soft);
text-align: center;
}
.servers-loading__pulse {
width: 14px;
height: 14px;
border-radius: 999px;
background: var(--accent-warm);
box-shadow: 0 0 0 rgba(210, 182, 118, 0.34);
animation: servers-loading-pulse 1.6s ease-in-out infinite;
}
@keyframes servers-loading-pulse {
0% {
transform: scale(0.9);
box-shadow: 0 0 0 0 rgba(210, 182, 118, 0.26);
opacity: 0.78;
}
70% {
transform: scale(1);
box-shadow: 0 0 0 16px rgba(210, 182, 118, 0);
opacity: 1;
}
100% {
transform: scale(0.92);
box-shadow: 0 0 0 0 rgba(210, 182, 118, 0);
opacity: 0.82;
}
}
.discord-button {
display: inline-flex;
align-items: center;

View File

@@ -93,6 +93,7 @@ document.addEventListener("DOMContentLoaded", () => {
updateBackendStatus(statusNode, "Backend comprobando", "status-chip--idle");
setServersDataState(serversBadge, { timestampLabel: "" });
renderServersLoadingState(serversList);
hydrateCommunityClans(communityClansList);
let serverRefreshInFlight = false;
@@ -208,10 +209,28 @@ async function hydrateServers(
const visibleItems = selectPrimaryServerItems(serversData.items);
serversList.innerHTML = renderServerSections(visibleItems);
} catch (error) {
console.warn("Servers panel remains on static fallback", error);
console.warn("Servers panel failed to hydrate with live data", error);
serversList.innerHTML =
'<p class="servers-empty">No se pudo cargar el estado real de servidores en este momento.</p>';
setServersDataState(serversBadge, {
label: "Actualizacion no disponible",
isFresh: false,
});
}
}
function renderServersLoadingState(serversList) {
if (!serversList) {
return;
}
serversList.innerHTML = `
<div class="servers-loading">
<span class="servers-loading__pulse"></span>
<p>Cargando estado real de servidores...</p>
</div>
`;
}
function updateBackendStatus(statusNode, label, stateClass) {
if (!statusNode) {
return;

View File

@@ -96,103 +96,11 @@
Abrir zona historico
</a>
</div>
<div class="servers-grid" id="servers-list">
<article class="server-card server-card--stats server-card--real">
<div class="server-card__top server-card__top--stats">
<div class="server-card__identity">
<p class="server-card__eyebrow">Servidor de comunidad</p>
<h3>Comunidad Hispana #01</h3>
</div>
<div class="server-card__status-column">
<span class="server-state server-state--online">Online</span>
<p class="server-card__population">74 / 100</p>
<div class="server-card__actions">
<a
class="server-action-link"
href="https://scoreboard.comunidadhll.es/games"
target="_blank"
rel="noreferrer"
>
Historico
</a>
</div>
</div>
</div>
<div class="server-card__quickfacts">
<article class="server-card__quickfact">
<p>Mapa</p>
<strong>St. Marie Du Mont</strong>
</article>
<article class="server-card__quickfact">
<p>Region</p>
<strong>ES</strong>
</article>
</div>
</article>
<article class="server-card server-card--stats server-card--real">
<div class="server-card__top server-card__top--stats">
<div class="server-card__identity">
<p class="server-card__eyebrow">Servidor de comunidad</p>
<h3>Comunidad Hispana #02</h3>
</div>
<div class="server-card__status-column">
<span class="server-state server-state--offline">Offline</span>
<p class="server-card__population">0 / 100</p>
<div class="server-card__actions">
<a
class="server-action-link"
href="https://scoreboard.comunidadhll.es:5443/games"
target="_blank"
rel="noreferrer"
>
Historico
</a>
</div>
</div>
</div>
<div class="server-card__quickfacts">
<article class="server-card__quickfact">
<p>Mapa</p>
<strong>Sin mapa disponible</strong>
</article>
<article class="server-card__quickfact">
<p>Region</p>
<strong>ES</strong>
</article>
</div>
</article>
<article class="server-card server-card--stats server-card--real">
<div class="server-card__top server-card__top--stats">
<div class="server-card__identity">
<p class="server-card__eyebrow">Servidor de comunidad</p>
<h3>Comunidad Hispana #03</h3>
</div>
<div class="server-card__status-column">
<span class="server-state server-state--offline">Offline</span>
<p class="server-card__population">0 / 100</p>
<div class="server-card__actions">
<a
class="server-action-link"
href="https://scoreboard.comunidadhll.es:3443/games"
target="_blank"
rel="noreferrer"
>
Historico
</a>
</div>
</div>
</div>
<div class="server-card__quickfacts">
<article class="server-card__quickfact">
<p>Mapa</p>
<strong>Sin mapa disponible</strong>
</article>
<article class="server-card__quickfact">
<p>Region</p>
<strong>ES</strong>
</article>
</div>
</article>
<div class="servers-grid" id="servers-list" aria-live="polite">
<div class="servers-loading" id="servers-loading-state">
<span class="servers-loading__pulse"></span>
<p>Cargando estado real de servidores...</p>
</div>
</div>
</div>
</section>