{{ row.label }}
{{ row.date }}
{{ currencySymbol }} {{ row.total|number_format(2, '.', ',') }}
{% extends 'base.html.twig' %}
{% block title %}{{ 'dashboard.title'|trans }} - CxP GT{% endblock %}
{% block page_title %}{{ 'dashboard.title'|trans }}{% endblock %}
{% block body %}
{% set currentUser = app.user %}
{% set userInitials = currentUser ? currentUser.nombre|slice(0, 2)|upper : 'US' %}
{% set roleName = currentUser ? get_user_role_name(currentUser) : 'user.fallback_name'|trans %}
{% set userPhoto = currentUser and currentUser.foto ? '/' ~ currentUser.foto|trim('/') : null %}
{% set themeMap = {
slate: {shell: 'from-slate-950 via-slate-900 to-slate-800', badge: 'bg-white/10 text-slate-100', accent: 'text-slate-100', icon: 'bg-white/10 text-white'},
amber: {shell: 'from-amber-500 via-orange-500 to-amber-600', badge: 'bg-white/20 text-amber-50', accent: 'text-amber-50', icon: 'bg-white/15 text-white'},
emerald: {shell: 'from-emerald-500 via-teal-500 to-emerald-600', badge: 'bg-white/20 text-emerald-50', accent: 'text-emerald-50', icon: 'bg-white/15 text-white'},
rose: {shell: 'from-fuchsia-500 via-rose-500 to-pink-600', badge: 'bg-white/20 text-rose-50', accent: 'text-rose-50', icon: 'bg-white/15 text-white'},
blue: {shell: 'from-sky-500 via-blue-600 to-indigo-600', badge: 'bg-white/20 text-sky-50', accent: 'text-sky-50', icon: 'bg-white/15 text-white'},
violet: {shell: 'from-violet-500 via-purple-600 to-indigo-700', badge: 'bg-white/20 text-violet-50', accent: 'text-violet-50', icon: 'bg-white/15 text-white'}
} %}
{% set metricIcons = {
documents: '
{{ 'dashboard.main_panel'|trans }}
{{ 'dashboard.welcome_copy'|trans }}
{{ metric.label }}
{% if metric.format == 'money' %}{{ metric.currency ?? currencySymbol }} {{ metric.value|number_format(2, '.', ',') }}{% else %}{{ metric.value|number_format(0, '.', ',') }}{% endif %}
{{ metric.hint }}
{{ 'dashboard.due_radar'|trans }}
{{ 'dashboard.due_projection_copy'|trans }}
{{ 'dashboard.no_upcoming_due'|trans({'%from%': projectionWindow.from, '%to%': projectionWindow.to}) }}
{{ 'dashboard.overdue_summary'|trans({'%count%': overdueSummary.count, '%symbol%': currencySymbol, '%amount%': overdueSummary.amount|number_format(2, '.', ',')}) }}
{{ row.label }}
{{ row.date }}
{{ currencySymbol }} {{ row.total|number_format(2, '.', ',') }}
{{ 'dashboard.document_tracking'|trans }}
{{ 'dashboard.recent_documents_copy'|trans }}
| {{ 'dashboard.document'|trans }} | {{ 'documento.proveedor'|trans }} | {{ 'dashboard.type'|trans }} | {{ 'label.date'|trans }} | {{ 'dashboard.total'|trans }} | {{ 'dashboard.balance'|trans }} | {{ 'label.status'|trans }} | {{ 'table.actions'|trans }} |
|---|---|---|---|---|---|---|---|
| {{ doc.documento }} | {{ doc.proveedor }} | {{ doc.tipo }} | {{ doc.fecha }} | {{ doc.total }} | {{ doc.saldo }} | {{ doc.estado }} | {{ 'button.view'|trans }} |
{{ doc.documento }}
{{ doc.proveedor }}