{% extends "base.html" %} {% import "partials/bag_card.html" as bag_card %} {% import "partials/brew_card.html" as brew_card %} {% import "partials/icons.html" as icons %} {% block title %}Brewlog{% endblock %} {% block head %} {% if is_authenticated %} {% endif %} {% endblock %} {% block content %} {% if is_authenticated %} {{ icons::camera("h-5 w-5") }} Scan {{ icons::location("h-5 w-5") }} Check In {{ icons::plus("h-5 w-5") }} Add {{ icons::spinner("h-5 w-5") }} Waiting for response… {% include "partials/forms/scan_result_form.html" %} {% endif %} {% if !recent_brews.is_empty() %} Recent Brews View all brews → {% for brew in recent_brews %} {{ brew_card::card(brew, is_authenticated) }} {% endfor %} {% endif %} {% if !open_bags.is_empty() %} Open Bags View all bags → {% for bag in open_bags %} {{ bag_card::card(bag, is_authenticated) }} {% endfor %} {% endif %} {% if !recent_events.is_empty() %} Recent Activity View full timeline → {% for event in recent_events %} {{ event.kind_label }} {{ event.title }}{% if let Some(sub) = event.subtitle %} ยท {{ sub }}{% endif %} {{ event.relative_date_label }} {% endfor %} {% endif %} Stats {{ icons::beaker("h-6 w-6 text-accent") }} {{ stats.brews }} Brews {{ icons::fire("h-6 w-6 text-accent") }} {{ stats.roasts }} Roasts {{ icons::building("h-6 w-6 text-accent") }} {{ stats.roasters }} Roasters {{ icons::bag("h-6 w-6 text-accent") }} {{ stats.bags }} Bags {{ icons::cup("h-6 w-6 text-accent") }} {{ stats.cups }} Cups {{ icons::location("h-6 w-6 text-accent") }} {{ stats.cafes }} Cafes {{ icons::wrench("h-6 w-6 text-accent") }} {{ stats.gear }} Gear {% endblock %}
{{ event.title }}{% if let Some(sub) = event.subtitle %} ยท {{ sub }}{% endif %}