{% extends "ui/base.html" %} {% import "ui/alert.html" as alert %} {% import "ui/toast.html" as toast %} {% block title %}{{ nav.tr("rates-title") }}{% endblock %} {% block content %}

{{ nav.tr("rates-eyebrow") }}

{{ nav.tr("rates-title") }}

{{ nav.tr("rates-description") }}

{%- if let Some(message) = page.status %}{% call toast::success(nav.tr("rates-updated"), message) %}{% endcall %}{% endif -%} {%- if let Some(message) = page.error %}{% call alert::error(nav.locale, nav.tr("rates-could-not-continue"), message) %}{% endcall %}{% endif -%}

{{ nav.tr("rates-profile-configuration") }}

{% if page.profiles.is_empty() %}

{{ nav.tr("rates-no-profiles") }}

{% else %}
{% if let Some(settings) = page.settings %}
{{ nav.tr("rates-accounting-currency") }}
{{ settings.accounting_currency }} · {{ nav.tr("rates-immutable") }}
{{ nav.tr("rates-configured-currencies") }}
{{ settings.foreign_currencies.len() }}
{{ nav.tr("rates-registered-providers") }}
{% if page.providers.is_empty() %}—{% else %}{{ page.providers|join(", ") }}{% endif %}
{% if settings.foreign_currencies.is_empty() %}

{{ nav.tr("rates-no-foreign-currencies") }}

{% else %}
{% for currency in settings.foreign_currencies %} {% endfor %}
{{ nav.tr("rates-foreign-currency") }}{{ nav.tr("rates-default-provider") }}{{ nav.tr("rates-providers") }}{{ nav.tr("rates-coverage") }}
{{ currency.currency }} {{ currency.default_source_id }} {% for source in currency.sources %}{{ source.source_id }} {% endfor %} {% for source in currency.sources %}
{% if source.coverage_complete %}{{ nav.tr("rates-ready") }}{% else %}{{ nav.tr("rates-importing") }}{% endif %} {{ source.source_id }}{% if let Some(from) = source.verified_from_date %} · {{ from }}{% endif %}{% if let Some(through) = source.verified_through_date %} → {{ through }}{% endif %}
{% endfor %}
{% if page.can_configure %} {% for source in currency.sources %} {% if source.source_id != currency.default_source_id %}
{% endif %} {% endfor %} {% endif %}
{% endif %} {% if page.can_configure %}

{{ nav.tr("rates-add-binding") }}

{{ nav.tr("rates-append-only-hint") }}

{% if page.providers.len() > 1 %} {% endif %}
{% endif %} {% endif %} {% endif %}

{{ nav.tr("rates-evidence-lookup") }}

{{ nav.tr("rates-evidence-hint") }}

{% if let Some(has_exchange) = page.evidence_has_exchange %} {% if !has_exchange %}

{{ nav.tr("rates-no-exchange") }}

{% else if page.evidence.is_empty() %}

{{ nav.tr("rates-no-evidence") }}

{% else %}
{% for item in page.evidence %}{% endfor %}
#{{ nav.tr("rates-revision") }}{{ nav.tr("rates-conversion") }}{{ nav.tr("rates-provider") }}{{ nav.tr("rates-rate-date") }}{{ nav.tr("rates-created") }}{{ nav.tr("rates-reason") }}
{{ item.evidence.evidence_id }}{{ item.evidence.row_revision }} {{ item.evidence.original_amount }} {{ item.evidence.original_currency }} → {{ item.evidence.converted_amount }} {{ item.evidence.accounting_currency }} {{ item.evidence.source_id }}{{ item.evidence.rate_date.as_deref().unwrap_or("—") }}{{ item.evidence.evidence_created_at }}{{ item.evidence.selection_reason }}
{% if page.evidence_has_more %}

{{ nav.tr("rates-more-evidence") }}

{% endif %} {% endif %} {% endif %}

{{ nav.tr("rates-provider-health") }}

{{ nav.tr("rates-provider-health-hint") }}

{{ provider_status|safe }} {{ provider_attempts|safe }}
{% for code in currency_codes %}{% endfor %}
{% endblock %}