87 lines
3.5 KiB
PHP
87 lines
3.5 KiB
PHP
<section class="hero-grid">
|
|
<article class="hero-card hero-card--wide glass-panel">
|
|
<p class="eyebrow">Stimmung im Blick</p>
|
|
<h3>Dein Dashboard verbindet Verlauf, Score und Bewegungsdaten in einer schnellen Übersicht.</h3>
|
|
<p class="hero-copy">Die Bewertung basiert auf deiner konfigurierbaren Logik. Sobald du die Regeln in den Optionen änderst, spiegeln Archiv und Statistiken die neue Gewichtung wider.</p>
|
|
</article>
|
|
|
|
<article class="hero-card glass-panel">
|
|
<p class="eyebrow">Heute</p>
|
|
<?php if ($summary['today'] !== null): ?>
|
|
<div class="hero-score"><?= e(format_points((float) $summary['today']['evaluation']['total'])) ?></div>
|
|
<p class="hero-label"><?= e($summary['today']['evaluation']['label']) ?></p>
|
|
<?php else: ?>
|
|
<div class="hero-score">-</div>
|
|
<p class="hero-label">Noch kein Eintrag für heute</p>
|
|
<?php endif; ?>
|
|
</article>
|
|
</section>
|
|
|
|
<section class="stats-grid">
|
|
<article class="metric-card glass-panel">
|
|
<span>Getrackte Tage</span>
|
|
<strong><?= e((string) $summary['tracked_days']) ?></strong>
|
|
</article>
|
|
<article class="metric-card glass-panel">
|
|
<span>Ø Score</span>
|
|
<strong><?= e(format_points((float) $summary['average_score'])) ?></strong>
|
|
</article>
|
|
<article class="metric-card glass-panel">
|
|
<span>Ø Stimmung</span>
|
|
<strong><?= e(format_points((float) $summary['average_mood'])) ?>/10</strong>
|
|
</article>
|
|
<article class="metric-card glass-panel">
|
|
<span>Ø Stress</span>
|
|
<strong><?= e(format_points((float) $summary['average_stress'])) ?>/10</strong>
|
|
</article>
|
|
<article class="metric-card glass-panel">
|
|
<span>Serie</span>
|
|
<strong><?= e((string) $summary['streak']) ?> Tage</strong>
|
|
</article>
|
|
</section>
|
|
|
|
<section class="dashboard-grid">
|
|
<article class="glass-panel chart-card chart-card--calendar">
|
|
<div class="section-head">
|
|
<div>
|
|
<p class="eyebrow">Kalender</p>
|
|
<h3>Gesamtstimmung pro Tag</h3>
|
|
</div>
|
|
</div>
|
|
<div id="calendar-heatmap" class="calendar-heatmap" data-payload="<?= e($chartPayload) ?>"></div>
|
|
</article>
|
|
|
|
<article class="glass-panel chart-card">
|
|
<div class="section-head">
|
|
<div>
|
|
<p class="eyebrow">Trend</p>
|
|
<h3>Tagesstimmung</h3>
|
|
</div>
|
|
<span class="chart-chip">letzte 30 Einträge</span>
|
|
</div>
|
|
<div class="line-chart" data-chart-type="line" data-series="mood" data-payload="<?= e($chartPayload) ?>"></div>
|
|
</article>
|
|
|
|
<article class="glass-panel chart-card">
|
|
<div class="section-head">
|
|
<div>
|
|
<p class="eyebrow">Belastung</p>
|
|
<h3>Stressverlauf</h3>
|
|
</div>
|
|
<span class="chart-chip chart-chip--warm">letzte 30 Einträge</span>
|
|
</div>
|
|
<div class="line-chart" data-chart-type="line" data-series="stress" data-payload="<?= e($chartPayload) ?>"></div>
|
|
</article>
|
|
|
|
<article class="glass-panel chart-card chart-card--wide">
|
|
<div class="section-head">
|
|
<div>
|
|
<p class="eyebrow">Aktivität</p>
|
|
<h3>Sport und Spaziergang</h3>
|
|
</div>
|
|
<span class="chart-chip chart-chip--cool">Minuten pro Tag</span>
|
|
</div>
|
|
<div class="bar-chart" data-chart-type="bars" data-series="sport" data-payload="<?= e($chartPayload) ?>"></div>
|
|
</article>
|
|
</section>
|