{% set infotext = {
    'green':  "The last entry is a passing balance check.",
    'red':    "The last entry is a failing balance check.",
    'yellow': "The last entry is not a balance check.",
} %}
{% macro balance_directive(ledger, account) %}
{% for position in (ledger.all_root_account|get_or_create(account)).balance|units %}
{{ today() }} balance {{ account.ljust(28) }} {% with num=position.units.number|string %}{{ num.rjust(15) }}{% endwith %} {{ position.units.currency }}
{% endfor %}
{% endmacro %}
{% macro indicator(ledger, account) %}
{% set status=ledger.account_uptodate_status(account) %}
{% set balance=balance_directive(ledger, account) %}
{% if status %}
{% endif %}
{% endmacro %}
{% macro last_account_activity(ledger, account_name) %}
{% set last_entry = ledger.last_entry(account_name) %}
{% set last_account_activity = (today() - last_entry.date).days if last_entry else 0 %}
{% if last_account_activity > ledger.fava_options['uptodate-indicator-grey-lookback-days'] %}
    
{% endif %}
{% endmacro %}
{% macro account_name(ledger, account_name, last_segment=False) %}
  {{- account_name.split(':')[-1] if last_segment else account_name -}}
{% if account_name and ledger.accounts[account_name].meta.get('fava-uptodate-indication') %}
{{ indicator(ledger, account_name) }}
{{ last_account_activity(ledger, account_name) }}
{% endif %}
{% endmacro %}
{% macro account_name_header(ledger, account_name) -%}
  {%- set parts = account_name.split(':') -%}
  {%- for part in parts -%}
  {%- if loop.last -%}
  {{ part }}
  {%- else -%}
  {%- set name = ':'.join(parts[:loop.index]) -%}
  {{ part }}:
  {%- endif -%}
  {%- endfor -%}
  {%- if account_name and ledger.accounts[account_name].meta.get('fava-uptodate-indication') -%}
  {{ indicator(ledger, account_name) }}
  {{ last_account_activity(ledger, account_name) }}
  {%- endif -%}
  {%- set last_entry = ledger.last_entry(account_name) -%}
  {%- if last_entry -%}
  
    (Last entry: {{ last_entry.date }})
  
  {%- endif -%}
{%- endmacro %}