From 215717c90fc6896bcd78f268f8a0a2b17b4d42a2 Mon Sep 17 00:00:00 2001 From: Viktor Barzin Date: Sun, 26 Apr 2026 18:30:52 +0000 Subject: [PATCH] monitoring(dashboards): tables at the bottom convention wealth: move Activity log table from y=45 to y=77; the three barcharts (Yearly return, Annual change, Per-account ROI) shift up by 14 to fill the gap. uk-payslip: move Sankey "where the money went" from y=80 to y=48 (right above the table block); the three tables (Data integrity, All payslips, YTD reconciliation) shift down by 14 so all four tables (4, 5, 6, 9) sit contiguously at the bottom. fire-planner and job-hunter still have intentional side-by-side table/chart pairings; left untouched pending user direction on whether to break them. --- .../modules/monitoring/dashboards/uk-payslip.json | 8 ++++---- .../monitoring/modules/monitoring/dashboards/wealth.json | 8 ++++---- 2 files changed, 8 insertions(+), 8 deletions(-) diff --git a/stacks/monitoring/modules/monitoring/dashboards/uk-payslip.json b/stacks/monitoring/modules/monitoring/dashboards/uk-payslip.json index b96f0d0a..226a3c43 100644 --- a/stacks/monitoring/modules/monitoring/dashboards/uk-payslip.json +++ b/stacks/monitoring/modules/monitoring/dashboards/uk-payslip.json @@ -1086,7 +1086,7 @@ "h": 6, "w": 24, "x": 0, - "y": 48 + "y": 62 }, "fieldConfig": { "defaults": { @@ -1260,7 +1260,7 @@ "h": 14, "w": 24, "x": 0, - "y": 54 + "y": 68 }, "fieldConfig": { "defaults": { @@ -1436,7 +1436,7 @@ "h": 12, "w": 24, "x": 0, - "y": 68 + "y": 82 }, "fieldConfig": { "defaults": { @@ -1746,7 +1746,7 @@ "h": 14, "w": 24, "x": 0, - "y": 80 + "y": 48 }, "options": { "monochrome": false, diff --git a/stacks/monitoring/modules/monitoring/dashboards/wealth.json b/stacks/monitoring/modules/monitoring/dashboards/wealth.json index 42cf34ff..1b8a8aed 100644 --- a/stacks/monitoring/modules/monitoring/dashboards/wealth.json +++ b/stacks/monitoring/modules/monitoring/dashboards/wealth.json @@ -410,7 +410,7 @@ "description": "Recent activities (BUY / SELL / DEPOSIT / WITHDRAWAL / DIVIDEND / etc.) across all accounts. Limited to 100 most recent.", "type": "table", "datasource": {"type": "grafana-postgresql-datasource", "uid": "wealth-pg"}, - "gridPos": {"h": 14, "w": 24, "x": 0, "y": 45}, + "gridPos": {"h": 14, "w": 24, "x": 0, "y": 77}, "fieldConfig": { "defaults": { "custom": {"align": "auto", "displayMode": "auto"} @@ -485,7 +485,7 @@ "description": "Modified-Dietz return per calendar year: market_gain / (nw_start + 0.5 × contributions). Pure investment performance — excludes new contributions, so a £100k vest doesn't show as 100% growth. Negative bars = market losses (e.g., 2022 bear market).", "type": "barchart", "datasource": {"type": "grafana-postgresql-datasource", "uid": "wealth-pg"}, - "gridPos": {"h": 11, "w": 24, "x": 0, "y": 59}, + "gridPos": {"h": 11, "w": 24, "x": 0, "y": 45}, "fieldConfig": { "defaults": { "color": {"mode": "thresholds"}, @@ -545,7 +545,7 @@ "description": "Each calendar year's net worth change split into 'new money in' (contributions − withdrawals) and 'market gain' (everything else: price appreciation, dividends, etc.). Shows whether you grew because you saved or because the market did the work. Negative bars = withdrawals or market losses.", "type": "barchart", "datasource": {"type": "grafana-postgresql-datasource", "uid": "wealth-pg"}, - "gridPos": {"h": 11, "w": 24, "x": 0, "y": 70}, + "gridPos": {"h": 11, "w": 24, "x": 0, "y": 56}, "fieldConfig": { "defaults": { "color": {"mode": "palette-classic"}, @@ -611,7 +611,7 @@ "description": "(market value − net contribution) / net contribution × 100, latest snapshot. Excludes accounts with zero/negative net contribution (Schwab — RSU vests sold = negative contribution distorts the ratio). Pension shows 0% because Wealthfolio doesn't track underlying fund holdings, so cost_basis = 0 and 'growth' is just the cash balance reported.", "type": "barchart", "datasource": {"type": "grafana-postgresql-datasource", "uid": "wealth-pg"}, - "gridPos": {"h": 10, "w": 24, "x": 0, "y": 81}, + "gridPos": {"h": 10, "w": 24, "x": 0, "y": 67}, "fieldConfig": { "defaults": { "color": {"mode": "thresholds"},