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