Skip to content

Commit f976437

Browse files
committed
Set the currency in the y-axis for liability and account overview pages.
1 parent d36865a commit f976437

File tree

2 files changed

+32
-4
lines changed

2 files changed

+32
-4
lines changed

src/account/liability/liability-graph.tsx

Lines changed: 14 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -4,8 +4,9 @@ import { Account } from "../../core/types";
44
import { BalanceSeries } from "../../core/graphs/balance-series";
55
import { Range } from "../../core/Dates";
66
import { Chart } from "react-chartjs-2";
7-
import { DefaultChartConfig } from "../../config/global-chart-config";
7+
import { DefaultChartConfig, Service } from "../../config/global-chart-config";
88
import { Loading } from "../../core/layout";
9+
import { CurrencyRepository } from "../../core/RestAPI";
910

1011
type LiabilityGraphProps = {
1112
range: Range,
@@ -29,12 +30,23 @@ function LiabilityGraph(props: LiabilityGraphProps) {
2930
}
3031
}, [range, account])
3132

33+
const currencySymbol = CurrencyRepository.cached(account.account.currency)?.symbol
3234
if (!balanceSeries) return <Loading />
3335
return <>
3436
<Chart height={ 100 }
3537
type={ 'line' }
3638
id='liability-balance-graph'
37-
options={ { ...DefaultChartConfig.line, maintainAspectRatio: true } }
39+
options={ Service.mergeOptions({
40+
scales: {
41+
y: {
42+
reverse: true,
43+
ticks: {
44+
callback: (value: any) => `${currencySymbol}${value}`
45+
}
46+
}
47+
},
48+
maintainAspectRatio: true
49+
}, DefaultChartConfig.line) }
3850
data={ balanceSeries } />
3951
</>
4052
}

src/core/graphs/balance-chart.tsx

Lines changed: 18 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -5,7 +5,10 @@ import { Loading } from "../layout";
55
import { BalanceSeries } from "./balance-series";
66
import { Chart } from "react-chartjs-2";
77
import { ChartData } from "chart.js";
8-
import { DefaultChartConfig } from "../../config/global-chart-config";
8+
import { DefaultChartConfig, Service } from "../../config/global-chart-config";
9+
import RestAPI from "../repositories/rest-api";
10+
import { CurrencyRepository } from "../RestAPI";
11+
import { isArray } from "chart.js/helpers";
912

1013
type BalanceChartProps = {
1114
id: string
@@ -34,12 +37,25 @@ const BalanceChart: FC<BalanceChartProps> = ({ id, allMoney, accounts, height =
3437
}
3538
}, [range, allMoney, accounts]);
3639

40+
let currencySymbol = (RestAPI.user() as any).defaultCurrency?.symbol
41+
if (!isArray(accounts) && accounts)
42+
currencySymbol = CurrencyRepository.cached(accounts.account.currency).symbol
43+
3744
if (!balanceSeries) return <Loading />
3845
return <>
3946
<Chart height={ height }
4047
type={ 'line' }
4148
id={ id }
42-
options={ DefaultChartConfig.line }
49+
options={ Service.mergeOptions({
50+
scales: {
51+
y: {
52+
ticks: {
53+
callback: (value: any) => `${currencySymbol}${value}`
54+
}
55+
}
56+
}
57+
58+
}, DefaultChartConfig.line) }
4359
data={ balanceSeries } />
4460
</>
4561
}

0 commit comments

Comments
 (0)