diff --git a/nummi/account/templates/account/account_detail.html b/nummi/account/templates/account/account_detail.html index 92c3c7f..ce317ba 100644 --- a/nummi/account/templates/account/account_detail.html +++ b/nummi/account/templates/account/account_detail.html @@ -16,10 +16,6 @@

{% translate "Statements" %}

{% include "statement/statement_table.html" %} -
-

{% translate "Transactions" %}

- {% include "transaction/transaction_table.html" %} -
{% if history %}

{% translate "History" %}

diff --git a/nummi/account/views.py b/nummi/account/views.py index 902db10..103832b 100644 --- a/nummi/account/views.py +++ b/nummi/account/views.py @@ -35,15 +35,10 @@ class AccountDetailView(NummiDetailView): pk_url_kwarg = "account" def get_context_data(self, **kwargs): - _max = 8 + _max = 6 data = super().get_context_data(**kwargs) account = data.get("object") - _transactions = account.transaction_set.all() - if _transactions.count() > _max: - data["transactions_url"] = reverse_lazy( - "account_transactions", args=(account.pk,) - ) _statements = account.statement_set.all() if _statements.count() > _max: data["statements_url"] = reverse_lazy( @@ -51,11 +46,10 @@ class AccountDetailView(NummiDetailView): ) return data | { - "transactions": _transactions[:8], "new_statement_url": reverse_lazy( "new_statement", kwargs={"account": account.pk} ), - "statements": _statements[:8], + "statements": _statements[:_max], "history": history(account.transaction_set), } diff --git a/nummi/main/static/main/css/main.css b/nummi/main/static/main/css/main.css index 602f2de..2eee924 100644 --- a/nummi/main/static/main/css/main.css +++ b/nummi/main/static/main/css/main.css @@ -103,6 +103,7 @@ footer { padding: 2rem; } main { + position: relative; grid-column: 2; grid-row: 1; overflow-x: hidden; @@ -354,3 +355,50 @@ ul.messages { } } } + +ul.statements { + display: grid; + grid-template-columns: repeat(auto-fill, minmax(10rem, 1fr)); + grid-auto-rows: 1fr; + grid-gap: var(--gap); + list-style: none; + padding: 0; + + li { + display: grid; + grid-row-gap: var(--gap); + padding: var(--gap); + border: var(--gray) 1px solid; + text-align: right; + + > * { + display: grid; + align-items: center; + + &.date :first-child { + font-size: 2rem; + } + &.value :first-child { + font-weight: 650; + } + &.icon { + span { + margin: auto; + } + } + &.account a { + overflow: hidden; + text-overflow: "."; + white-space: nowrap; + } + a span::after { + content: "\a0"; + } + } + + &.new, + &.more { + border-style: dashed; + } + } +} diff --git a/nummi/main/static/main/css/table.css b/nummi/main/static/main/css/table.css index e93c777..f663bad 100644 --- a/nummi/main/static/main/css/table.css +++ b/nummi/main/static/main/css/table.css @@ -48,20 +48,20 @@ table { tfoot tr:not(.new) { background: var(--bg-01); } + .l { + text-align: left; + } + .r, + .value { + text-align: right; + } + .c, + .date { + text-align: center; + } } .date, .value { font-feature-settings: var(--num); } -.l { - text-align: left; -} -.r, -.value { - text-align: right; -} -.c, -.date { - text-align: center; -} diff --git a/nummi/main/templates/main/list.html b/nummi/main/templates/main/list.html index ddde7ec..7f40df7 100644 --- a/nummi/main/templates/main/list.html +++ b/nummi/main/templates/main/list.html @@ -43,4 +43,5 @@ {% include "main/pagination.html" %} {% block table %}{% endblock %} {% include "main/pagination.html" %} + {% block body_more %}{% endblock %} {% endblock %} diff --git a/nummi/main/templatetags/main_extras.py b/nummi/main/templatetags/main_extras.py index 15cc7d0..e4494e8 100644 --- a/nummi/main/templatetags/main_extras.py +++ b/nummi/main/templatetags/main_extras.py @@ -35,8 +35,13 @@ def pmrvalue(val): @register.filter -def remix(icon, cls=""): - return mark_safe(f"""""") +def remix(icon, *args): + return remixnl(f"{icon}-line", *args) + + +@register.filter +def remixnl(icon, cls=""): + return mark_safe(f"""""") @register.filter diff --git a/nummi/statement/templates/statement/statement_table.html b/nummi/statement/templates/statement/statement_table.html index 32a83f3..9c2de04 100644 --- a/nummi/statement/templates/statement/statement_table.html +++ b/nummi/statement/templates/statement/statement_table.html @@ -1,71 +1,33 @@ {% load i18n main_extras statement_extras %} -
- - - - - {% if not account %} - - - {% endif %} - - - - {% if new_statement_url %} - - - - {% endif %} - - - - - {% if not account %} - - {% endif %} - - - - - - - {% for snap in statements %} - - - - - {% if not account %} - - - {% endif %} - - - - - {% empty %} - - - - {% endfor %} - - {% if statements_url %} - - - - - +
+
- {% translate "Create statement" %} -
{{ "check"|remix }}{{ "attachment"|remix }}{% translate "Date" %}{% translate "Account" %}{% translate "Value" %}{% translate "Difference" %}{% translate "Transactions" %}
{{ snap.sum|check:snap.diff }} - {% if snap.file %}{{ "attachment"|remix }}{% endif %} - - - - - {{ snap.account.icon|remix }} - {{ snap.account }} - {{ snap.value|value }}{{ snap.diff|pmvalue }}{{ snap.sum|pmvalue }}
{% translate "No statement" %}
- {% translate "View all statements" %} -
+ {% for sta in statements %} +
  • + {{ sta.date|date:"d" }} + {{ sta.date|date:"F y" }} + {{ sta.value|value }} + {{ sta.diff|pmvalue }} + {% if not account %} + + {% endif %} + {{ sta.sum|check:sta.diff }} +
  • + {% endfor %} + {% if statements_url %} +
  • + + {{ "gallery-view"|remixnl }}{% translate "View all statements" %} + +
  • + {% endif %} +