diff --git a/financeplanner/static/financeplanner/style.css b/financeplanner/static/financeplanner/style.css index 5d08d9c..16519b3 100644 --- a/financeplanner/static/financeplanner/style.css +++ b/financeplanner/static/financeplanner/style.css @@ -148,10 +148,19 @@ tr:hover { color: #CC6622; } -#date-panel { - width: 80%; +#big-stat-panel { + width: 100%; opacity: 50%; - font-size: 1.5em; + font-size: 1.4em; + height: 1.4em; + text-align: center; +} + +#small-stat-panel { + width: 100%; + opacity: 50%; + font-size: 0.8em; + height: 0.8em; text-align: center; } diff --git a/financeplanner/templates/financeplanner/index.html b/financeplanner/templates/financeplanner/index.html index 77fa920..68a0a97 100644 --- a/financeplanner/templates/financeplanner/index.html +++ b/financeplanner/templates/financeplanner/index.html @@ -11,13 +11,12 @@ {% block content %}
{% if daily_stats %} -
-
+
+
{% for stat in daily_stats %}
+ id="graph-bar-{{ stat.id }}">
{% endfor %}
@@ -154,7 +153,8 @@ {% endblock %} diff --git a/financeplanner/templatetags/custom_tags.py b/financeplanner/templatetags/custom_tags.py index c30edd9..45e44a9 100644 --- a/financeplanner/templatetags/custom_tags.py +++ b/financeplanner/templatetags/custom_tags.py @@ -1,5 +1,7 @@ from django import template +from django.template.defaultfilters import date +from financeplanner.calc import DailyStat from financeplanner.utils import format_price register = template.Library() @@ -8,3 +10,24 @@ register = template.Library() @register.filter(name="euro") def euro(value): return format_price(value) or "-" + + +@register.filter(name="stat_header") +def stat_header(value: DailyStat, irregular): + return " | ".join([ + date(value.date, "d.m.y"), + euro(value.resulting_amount_irregular if irregular else value.resulting_amount) + ]) + + +@register.filter(name="stat_details") +def stat_details(value: DailyStat): + parts = [] + if value.balance_amount is not None: + parts.append(f"Balance: {euro(value.balance_amount)}") + for trans in value.actual_transactions: + parts.append(f"{trans.subject}: {euro(trans.amount)}") + result = " | ".join(parts) or "-" + if len(result) > 80: + return result[:47] + "..." + return result