{% extends "base.html" %} {% from "_when.html" import when_field with context %} {% import "_leaveit.html" as li %} {% block title %}Leave it · {{ app_name }}{% endblock %} {% block body %}
Nothing to leave alone yet. Add a bad habit under Settings → 🙅 Leave it — booze, food, weed, spending, anything — and set the line it shouldn't cross.
One rule runs all of it: honesty is always the cheapest move. Not logging costs more than going over. The whole story: Leave it.
Open until {{ deadline|local('%a %H:%M') }}. “That's everything” closes the day. Left open, the day is judged as logged — it can be over the line, never kept — and it's a 🌫️ Dark day.
{{ li.limits(v, fmt_q) }}
{% if v.streak %}{{ v.streak.current }} day{{ '' if v.streak.current == 1 else 's' }} kept · best {{ v.streak.best }}{% else %}0 days kept{% endif %}
Read from SparkyFitness ({{ v.metric }}) every hour — log it there, then close the ledger here.
{% endif %}A night out you can see coming is a plan, not a lapse. Declare it before the day begins: the cap lifts to what you say, that day leaves the week's arithmetic, and staying inside it is a day kept. Declared after, it isn't a plan. How many a month is your Handler's temperament.
{% if passes %}| {% for v in vices %} | {{ v.icon }} | {% endfor %}ledger |
|---|---|---|
| {{ r.day }} | {% for vd in r.cells %}{{ li.chip(vd, fmt_q, vices[loop.index0].unit) }} | {% endfor %}{% if r.ledger %}📒 {{ r.ledger.first_ts|local('%a %H:%M') }}{% else %}—{% endif %} |
✓ kept · 🚫 over the line · 🪫 under the floor · 🌫️ never closed · ⏳ still open. A day is re-judged when what it rests on changes — a late tally, Sparky catching up, an amended ledger — and the old verdict is struck, never edited.