{% extends "base.html" %} {% block title %}Dashboard{% endblock %} {% block page_title %}Dashboard{% endblock %} {% block extra_css %} .fx-card { background: #eff6ff; border-color: #bfdbfe; color: #0f172a; cursor: pointer; transition: all .2s; } .fx-card:hover { border-color: #3b82f6 !important; } .period-btn.active { background: #3b82f6; color: #fff; border-color: #3b82f6; } @keyframes spin { to { transform: rotate(360deg); } } {% endblock %} {% block topbar_actions %}
{% endblock %} {% block content %} {% if schwab_warning %}No expenses this period.
{% endif %}{{ ai_insight.content }}
No accounts. Add one.
{% endif %}| Date | Description | Category | Amount |
|---|---|---|---|
| {{ txn.date.strftime('%b %d') }} |
{{ txn.description }}
{{ txn.account.name if txn.account else '—' }}
|
{% if txn.category %} {{ txn.category.name }} {% else %}—{% endif %} | {% if txn.transaction_type=='income' %}+{% else %}-{% endif %}{{ txn.amount | currency }} |
No transactions yet. Add one.
{% endif %}| Rule | Frequency | Due | Amount | Account |
|---|---|---|---|---|
|
{% if rule.category %}
|
{{ rule.frequency | title }} | {% set days_until = (rule.next_run - today).days %} {% if days_until == 0 %}Today {% elif days_until == 1 %}Tomorrow {% else %}{{ rule.next_run.strftime('%b %d') }}{% endif %} | {% if rule.transaction_type=='income' %}+{% else %}-{% endif %}{{ rule.amount | currency }} | {{ rule.account.name if rule.account else '—' }} |