{% extends "layout.html.twig" %} {% import "macros.twig" as lbl %} {% block title %}Dashboard · {{ app_name }}{% endblock %} {% block content %}

Dashboard

Ciao {{ current_user.nome }}, ecco la situazione.

{% include 'partials/alert_scorte.html.twig' %} {# Card indicatori #}
Animali
{{ capi_totali }} capi
{{ gruppi_attivi }} gruppi attivi
Mangimi in magazzino
{{ scorta_totale }} kg
{{ mangimi_count }} tipi · {{ mangimi_sotto }} sotto soglia
Spese {{ anno }}
€ {{ spese_anno }}
mangimi inclusi
Calendario
Sett. {{ settimana }}
{{ attivita_settimana|length }} attività in periodo
{# Questa settimana #}

Questa settimana (sett. {{ settimana }})

{% if attivita_settimana is empty %}

Nessuna attività in periodo questa settimana.

{% else %}
{% for a in attivita_settimana %}
{{ a.attivita_nome }} — {{ a.elemento_nome }} · {{ a.sezione_nome }}
{% endfor %}
{% endif %}
{# Spese anno per categoria #}

Spese {{ anno }} per categoria

{% if spese_breakdown is empty %}

Nessuna spesa quest'anno.

{% else %}
{% set max_cat = max(spese_breakdown|map(r => r.tot)) %} {% for r in spese_breakdown %}
{{ r.nome }} € {{ r.tot }}
{% endfor %}

Report completo →

{% endif %}
{# Ultimi interventi #}

Ultimi interventi

Tutti
{% if ultimi_interventi is empty %}

Nessun intervento registrato.

{% else %}
{% for i in ultimi_interventi %}
{# Riga principale: data · tipo · luogo · elemento #}
{{ i.data|date('d/m/Y') }} {{ i.tipo_nome }} {{ i.luogo_nome }} {% if i.elemento_id %} · {{ i.elemento_nome }} {% endif %}
{# Dettaglio: descrizione (troncata) + quantità — a capo su schermo stretto #} {% if i.descrizione or i.quantita is not null %}
{% if i.descrizione %}{{ i.descrizione|length > 60 ? i.descrizione|slice(0, 60) ~ '…' : i.descrizione }}{% endif %} {% if i.quantita is not null %}📏 {{ i.quantita + 0 }}{{ i.unita ? ' ' ~ i.unita : '' }}{% endif %}
{% endif %}
{% endfor %}
{% endif %} {% endblock %}