add live statistics
All checks were successful
deploy / build-and-deploy (push) Successful in 22s

This commit is contained in:
2025-11-11 01:53:56 +01:00
parent dfc1425c6b
commit 5ce2db9040
26 changed files with 1168 additions and 817 deletions

View File

@@ -1,12 +1,12 @@
---
import WebsiteLayout from '@layouts/website/WebsiteLayout.astro';
import Countdown from '@app/website/index/Countdown.svelte';
import LiveStats from '@app/website/index/LiveStats.svelte';
import Craftattack from '@assets/img/craftattack.webp';
import Background from '@assets/img/background.webp';
import { START_DATE } from 'astro:env/server';
import { START_DATE, STATISTICS_ENDPOINT } from 'astro:env/server';
import { getSetting, SettingKey } from '@util/settings';
import { db } from '@db/database.ts';
import { Icon } from 'astro-icon/components';
const signupEnabled = await getSetting(db, SettingKey.SignupEnabled, false);
const signupInfoMessage = await getSetting(db, SettingKey.SignupInfoMessage);
@@ -96,14 +96,22 @@ const information = [
</div>
</div>
<div class="flex flex-col xl:flex-row justify-center items-center py-20 bg-base-100">
<div class="flex flex-col justify-center items-center py-20 bg-base-100">
{
STATISTICS_ENDPOINT && (
<>
<LiveStats />
<div class="divider divider-horizontal mx-auto my-6 h-18" />
</>
)
}
<div>
<h3 class="text-center text-2xl mb-6">2024/2025 in Zahlen</h3>
<div class="flex flex-col lg:flex-row gap-4">
<div class="stats stats-vertical xl:stats-horizontal shadow">
<div class="bg-base-200 stats stats-vertical xl:stats-horizontal shadow">
<div class="stat">
<div class="stat-figure">
<Icon name="heroicons:wrench-screwdriver-solid" size="1.5em" />
<span class="iconify iconify-[heroicons--wrench-screwdriver-solid] size-[1.5em]"></span>
</div>
<div class="stat-title">Abgebaute Blöcke</div>
<div class="stat-value">17M</div>
@@ -111,27 +119,27 @@ const information = [
</div>
<div class="stat">
<div class="stat-figure">
<Icon name="heroicons:users-solid" size="1.5em" />
<span class="iconify iconify-[heroicons--users-solid] size-[1.5em]"></span>
</div>
<div class="stat-title">Teilnehmer</div>
<div class="stat-value">161</div>
<div class="stat-desc">&#8203;</div>
</div>
</div>
<div class="stats stats-vertical xl:stats-horizontal shadow h-min xl:h-[initial]">
<div class="bg-base-200 stats stats-vertical xl:stats-horizontal shadow h-min xl:h-[initial]">
<div class="stat">
<div class="stat-figure">
<Icon name="heroicons:clock-solid" size="1.5em" />
<span class="iconify iconify-[heroicons--clock-solid] size-[1.5em]"></span>
</div>
<div class="stat-title">Gesamtspielzeit</div>
<div class="stat-value">276 Tage</div>
<div class="stat-desc">&#8203;</div>
</div>
</div>
<div class="stats stats-vertical xl:stats-horizontal shadow">
<div class="bg-base-200 stats stats-vertical xl:stats-horizontal shadow">
<div class="stat">
<div class="stat-figure">
<Icon name="crosshairs" size="1.5em" />
<span class="iconify iconify-[local--crosshairs] size-[1.5em]"></span>
</div>
<div class="stat-title">Getötete Monster</div>
<div class="stat-value">751K</div>
@@ -139,7 +147,7 @@ const information = [
</div>
<div class="stat">
<div class="stat-figure">
<Icon name="skull" size="1.5em" />
<span class="iconify iconify-[local--skull] size-[1.5em]"></span>
</div>
<div class="stat-title">Spieler Tode</div>
<div class="stat-value">2468</div>