- Merge opencode-serve into the web container via entrypoint script - Add /api/agent/* JSON endpoints for workouts, sets, checkins - Rewrite fitness-trainer.md to use API instead of markdown files - Pass recent workouts and check-ins as chat context to the coach - Show current training phase on dashboard - Clarify check-ins as morning check-ins (calories/steps = yesterday) - Add NixOS deployment section to README - Make all check-in fields explicitly optional in UI
37 lines
1.1 KiB
HTML
37 lines
1.1 KiB
HTML
{% extends "base.html" %}
|
|
{% block title %}Check-ins{% endblock %}
|
|
{% block content %}
|
|
<h1>Morning Check-ins</h1>
|
|
<p><small>Log what's on your mind and what happened yesterday — all fields optional.</small></p>
|
|
<a href="/checkins/new" role="button">New Check-in</a>
|
|
|
|
{% if checkins %}
|
|
<table>
|
|
<thead>
|
|
<tr>
|
|
<th>Date</th>
|
|
<th>Feeling</th>
|
|
<th>Weight</th>
|
|
<th>Calories <small>(yesterday)</small></th>
|
|
<th>Steps <small>(yesterday)</small></th>
|
|
<th>Sleep</th>
|
|
</tr>
|
|
</thead>
|
|
<tbody>
|
|
{% for c in checkins %}
|
|
<tr>
|
|
<td>{{ c.date }}</td>
|
|
<td>{{ c.feeling or '—' }}</td>
|
|
<td>{{ c.weight_lb or '—' }}</td>
|
|
<td>{{ c.calories or '—' }}</td>
|
|
<td>{{ c.steps or '—' }}</td>
|
|
<td>{{ c.sleep_hours or '—' }}</td>
|
|
</tr>
|
|
{% endfor %}
|
|
</tbody>
|
|
</table>
|
|
{% else %}
|
|
<p>No check-ins yet. <a href="/checkins/new">Start your first morning check-in</a>.</p>
|
|
{% endif %}
|
|
{% endblock %}
|