106 lines
4.9 KiB
PHP
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>
|