Files
mood-tracking/templates/pages/track.php
T
2026-04-11 18:57:00 +02:00

106 lines
4.9 KiB
PHP

<section class="page-grid">
<article class="glass-panel form-panel form-panel--wide">
<div class="section-head">
<div>
<p class="eyebrow">Tag erfassen</p>
<h3>Eintrag fuer <?= e($entry['date']) ?></h3>
</div>
<a class="ghost-link" href="/archive?date=<?= e(rawurlencode($entry['date'])) ?>">Im Archiv ansehen</a>
</div>
<form method="post" action="/track" class="tracker-form" id="tracker-form">
<?= csrf_field() ?>
<div class="field-grid field-grid--single">
<label>
<span>Datum</span>
<input type="date" name="date" value="<?= e($entry['date']) ?>" required>
</label>
</div>
<div class="field-grid field-grid--three">
<label class="range-card">
<span>Stimmung</span>
<output data-output-for="mood"><?= e((string) $entry['mood']) ?></output>
<input type="range" min="1" max="10" step="1" name="mood" value="<?= e((string) $entry['mood']) ?>">
</label>
<label class="range-card">
<span>Energie</span>
<output data-output-for="energy"><?= e((string) $entry['energy']) ?></output>
<input type="range" min="1" max="10" step="1" name="energy" value="<?= e((string) $entry['energy']) ?>">
</label>
<label class="range-card">
<span>Stress</span>
<output data-output-for="stress"><?= e((string) $entry['stress']) ?></output>
<input type="range" min="1" max="10" step="1" name="stress" value="<?= e((string) $entry['stress']) ?>">
</label>
</div>
<div class="field-grid field-grid--two">
<label>
<span>Schlafdauer in Stunden</span>
<input type="number" min="0" max="24" step="0.25" name="sleep_hours" value="<?= e((string) $entry['sleep_hours']) ?>" required>
</label>
<label>
<span>Schlafgefuehl</span>
<select name="sleep_feeling">
<?php foreach ($settings['labels']['sleep_feeling'] as $value => $label): ?>
<option value="<?= e((string) $value) ?>" <?= (int) $entry['sleep_feeling'] === (int) $value ? 'selected' : '' ?>>
<?= e((string) $value) ?> · <?= e($label) ?>
</option>
<?php endforeach; ?>
</select>
</label>
</div>
<div class="field-grid field-grid--two">
<label>
<span>Sport in Minuten</span>
<input type="number" min="0" max="1440" step="1" name="sport_minutes" value="<?= e((string) $entry['sport_minutes']) ?>" required>
</label>
<label>
<span>Spaziergang in Minuten</span>
<input type="number" min="0" max="1440" step="1" name="walk_minutes" value="<?= e((string) $entry['walk_minutes']) ?>" required>
</label>
</div>
<label>
<span>Tagebuchnotiz</span>
<textarea name="note" rows="8" placeholder="Was war heute wichtig, schwer oder schoen?"><?= e($entry['note']) ?></textarea>
</label>
<div class="form-actions">
<a class="ghost-link" href="/track?date=<?= e(today()) ?>">Heute laden</a>
<button class="primary-button" type="submit">Tag speichern</button>
</div>
</form>
</article>
<aside class="stack-column">
<article class="glass-panel preview-card" id="live-score-card" data-payload="<?= e($trackPayload) ?>">
<p class="eyebrow">Live-Bewertung</p>
<div class="hero-score" data-preview-total><?= e(format_points((float) $evaluation['total'])) ?></div>
<p class="hero-label" data-preview-label><?= e($evaluation['label']) ?></p>
<p class="helper-text">Die Einschaetzung passt sich beim Aendern der Werte sofort an.</p>
<dl class="component-list" data-preview-components>
<?php foreach ($evaluation['components'] as $name => $value): ?>
<div>
<dt><?= e($name) ?></dt>
<dd><?= e(format_points((float) $value)) ?></dd>
</div>
<?php endforeach; ?>
</dl>
</article>
<article class="glass-panel info-card">
<p class="eyebrow">Dateiformat</p>
<h3>Markdown in `YYYY-MM-DD.txt`</h3>
<p>Jeder Tag wird als menschenlesbare Datei gespeichert. Das macht Backups, Portabilitaet und manuelle Kontrolle einfach.</p>
</article>
</aside>
</section>