Skip to content

Commit dfe627d

Browse files
committed
Merge branch 'rates-blankscreen'
2 parents e7caab9 + 8e5fb1e commit dfe627d

File tree

7 files changed

+42
-23
lines changed

7 files changed

+42
-23
lines changed

backend/handlers/handlers.go

Lines changed: 14 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -222,7 +222,7 @@ func NewHandlers(
222222
getAPIRouterNoError(apiRouter)("/set-token-active", handlers.postSetTokenActive).Methods("POST")
223223
getAPIRouterNoError(apiRouter)("/rename-account", handlers.postRenameAccount).Methods("POST")
224224
getAPIRouterNoError(apiRouter)("/accounts/reinitialize", handlers.postAccountsReinitialize).Methods("POST")
225-
getAPIRouter(apiRouter)("/account-summary", handlers.getAccountSummary).Methods("GET")
225+
getAPIRouterNoError(apiRouter)("/account-summary", handlers.getAccountSummary).Methods("GET")
226226
getAPIRouterNoError(apiRouter)("/supported-coins", handlers.getSupportedCoins).Methods("GET")
227227
getAPIRouter(apiRouter)("/test/register", handlers.postRegisterTestKeystore).Methods("POST")
228228
getAPIRouterNoError(apiRouter)("/test/deregister", handlers.postDeregisterTestKeystore).Methods("POST")
@@ -1207,8 +1207,19 @@ func (handlers *Handlers) apiMiddleware(devMode bool, h func(*http.Request) (int
12071207
writeJSON(w, value)
12081208
})
12091209
}
1210-
func (handlers *Handlers) getAccountSummary(*http.Request) (interface{}, error) {
1211-
return handlers.backend.ChartData()
1210+
1211+
func (handlers *Handlers) getAccountSummary(*http.Request) interface{} {
1212+
type Result struct {
1213+
Error string `json:"error,omitempty"`
1214+
Data *backend.Chart `json:"data,omitempty"`
1215+
Success bool `json:"success"`
1216+
}
1217+
1218+
data, err := handlers.backend.ChartData()
1219+
if err != nil {
1220+
return Result{Success: false, Error: err.Error()}
1221+
}
1222+
return Result{Success: true, Data: data}
12121223
}
12131224

12141225
// getSupportedCoinsHandler returns an array of coin codes for which you can add an account.

frontends/web/src/api/account.ts

Lines changed: 12 additions & 4 deletions
Original file line numberDiff line numberDiff line change
@@ -180,7 +180,15 @@ export const init = (code: AccountCode): Promise<null> => {
180180
return apiPost(`account/${code}/init`);
181181
};
182182

183-
export interface ISummary {
183+
export type TSummaryResponse = {
184+
success: true;
185+
data: TSummary;
186+
} | {
187+
success: false;
188+
error: string;
189+
}
190+
191+
export type TSummary = {
184192
chartDataMissing: boolean;
185193
chartDataDaily: ChartData;
186194
chartDataHourly: ChartData;
@@ -191,13 +199,13 @@ export interface ISummary {
191199
lastTimestamp: number;
192200
}
193201

194-
export const getSummary = (): Promise<ISummary> => {
202+
export const getSummary = (): Promise<TSummaryResponse> => {
195203
return apiGet('account-summary');
196204
};
197205

198206
export type Conversions = {
199-
[key in Fiat]: string;
200-
}
207+
[key in Fiat]?: string;
208+
};
201209

202210
export interface IAmount {
203211
amount: string;

frontends/web/src/components/amount/amount.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -122,4 +122,4 @@ export const Amount = ({
122122
}
123123

124124
return formatLocalizedAmount(amount, group, decimal);
125-
};
125+
};

frontends/web/src/routes/account/send/components/dialogs/confirm-wait-dialog.tsx

Lines changed: 3 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -93,7 +93,7 @@ export const ConfirmingWaitDialog = ({
9393
<small>{(proposedAmount && proposedAmount.unit) || 'N/A'}</small>
9494
</span>
9595
{
96-
proposedAmount && proposedAmount.conversions && (
96+
proposedAmount && proposedAmount.conversions && proposedAmount.conversions[fiatUnit] && (
9797
<span>
9898
<span className="text-gray"> / </span>
9999
<Amount alwaysShowAmounts amount={proposedAmount.conversions[fiatUnit]} unit={baseCurrencyUnit}/>
@@ -117,7 +117,7 @@ export const ConfirmingWaitDialog = ({
117117
{' '}
118118
<small>{(proposedFee && proposedFee.unit) || 'N/A'}</small>
119119
</span>
120-
{proposedFee && proposedFee.conversions && (
120+
{proposedFee && proposedFee.conversions && proposedFee.conversions[fiatUnit] && (
121121
<span key="conversation">
122122
<span className="text-gray"> / </span>
123123
<Amount alwaysShowAmounts amount={proposedFee.conversions[fiatUnit]} unit={baseCurrencyUnit}/>
@@ -155,7 +155,7 @@ export const ConfirmingWaitDialog = ({
155155
{' '}
156156
<small>{(proposedTotal && proposedTotal.unit) || 'N/A'}</small>
157157
</span>
158-
{(proposedTotal && proposedTotal.conversions) && (
158+
{(proposedTotal && proposedTotal.conversions) && proposedTotal.conversions[fiatUnit] && (
159159
<span>
160160
<span className="text-gray"> / </span>
161161
<strong><Amount alwaysShowAmounts amount={proposedTotal.conversions[fiatUnit]} unit={baseCurrencyUnit}/></strong>

frontends/web/src/routes/account/summary/accountssummary.tsx

Lines changed: 9 additions & 9 deletions
Original file line numberDiff line numberDiff line change
@@ -58,7 +58,7 @@ export const AccountsSummary = ({
5858

5959
const accountsByKeystore = getAccountsByKeystore(accounts);
6060

61-
const [summaryData, setSummaryData] = useState<accountApi.ISummary>();
61+
const [summaryData, setSummaryData] = useState<accountApi.TSummary>();
6262
const [balancePerCoin, setBalancePerCoin] = useState<accountApi.TAccountsBalance>();
6363
const [accountsTotalBalance, setAccountsTotalBalance] = useState<accountApi.TAccountsTotalBalance>();
6464
const [coinsTotalBalance, setCoinsTotalBalance] = useState<accountApi.TCoinsTotalBalance>();
@@ -71,14 +71,14 @@ export const AccountsSummary = ({
7171
if (summaryReqTimerID.current) {
7272
window.clearTimeout(summaryReqTimerID.current);
7373
}
74-
try {
75-
const summaryData = await accountApi.getSummary();
76-
if (!mounted.current) {
77-
return;
78-
}
79-
setSummaryData(summaryData);
80-
} catch (err) {
81-
console.error(err);
74+
const summary = await accountApi.getSummary();
75+
if (!mounted.current) {
76+
return;
77+
}
78+
if (summary.success) {
79+
setSummaryData(summary.data);
80+
} else {
81+
console.error(summary.error);
8282
}
8383
}, [mounted]);
8484

frontends/web/src/routes/account/summary/chart.tsx

Lines changed: 2 additions & 2 deletions
Original file line numberDiff line numberDiff line change
@@ -16,7 +16,7 @@
1616

1717
import { createChart, IChartApi, LineData, LineStyle, LogicalRange, ISeriesApi, UTCTimestamp, MouseEventParams, ColorType, Time } from 'lightweight-charts';
1818
import { Component, createRef, ReactChild } from 'react';
19-
import { ISummary } from '@/api/account';
19+
import { TSummary } from '@/api/account';
2020
import { translate, TranslateProps } from '@/decorators/translate';
2121
import { Skeleton } from '@/components/skeleton/skeleton';
2222
import { Amount } from '@/components/amount/amount';
@@ -35,7 +35,7 @@ export interface FormattedLineData extends LineData {
3535
export type ChartData = FormattedLineData[];
3636

3737
type ChartProps = {
38-
data: ISummary;
38+
data: TSummary;
3939
noDataPlaceholder?: ReactChild;
4040
hideAmounts: boolean;
4141
};

frontends/web/src/routes/account/summary/coinbalance.tsx

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -22,7 +22,7 @@ import { Skeleton } from '@/components/skeleton/skeleton';
2222
import style from './accountssummary.module.css';
2323

2424
type TProps = {
25-
summaryData?: accountApi.ISummary,
25+
summaryData?: accountApi.TSummary,
2626
coinsBalances?: accountApi.TCoinsTotalBalance,
2727
}
2828

0 commit comments

Comments
 (0)