mirror of
https://github.com/haveno-dex/haveno-ui.git
synced 2025-12-20 18:55:29 -05:00
fix: wallet balance
- fiat balance display - currency formatting - added tests for WalletBalance - added test coverage scripts - bumped haveno-ts to v0.0.5 --- Reviewed-by: localredhead
This commit is contained in:
parent
bc6ed842d5
commit
71bbc7e3f5
28 changed files with 653 additions and 145 deletions
46
packages/renderer/src/hooks/haveno/usePrice.ts
Normal file
46
packages/renderer/src/hooks/haveno/usePrice.ts
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
// =============================================================================
|
||||
// Copyright 2022 Haveno
|
||||
//
|
||||
// Licensed under the Apache License, Version 2.0 (the "License");
|
||||
// you may not use this file except in compliance with the License.
|
||||
// You may obtain a copy of the License at
|
||||
//
|
||||
// http://www.apache.org/licenses/LICENSE-2.0
|
||||
//
|
||||
// Unless required by applicable law or agreed to in writing, software
|
||||
// distributed under the License is distributed on an "AS IS" BASIS,
|
||||
// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
|
||||
// See the License for the specific language governing permissions and
|
||||
// limitations under the License.
|
||||
// =============================================================================
|
||||
|
||||
import { useEffect, useState } from "react";
|
||||
import { usePrices } from "./usePrices";
|
||||
|
||||
export function usePrice(currencyCode?: string) {
|
||||
const [data, setData] = useState(0);
|
||||
const [error, setError] = useState("");
|
||||
|
||||
const { data: prices, isLoading, isSuccess, error: _error } = usePrices();
|
||||
|
||||
useEffect(() => {
|
||||
if (!currencyCode) {
|
||||
return;
|
||||
}
|
||||
if (!isSuccess) {
|
||||
setError(_error?.message ?? "Something went wrong");
|
||||
return;
|
||||
}
|
||||
const price = (prices ?? []).find(
|
||||
(price) => price.currencyCode === currencyCode
|
||||
);
|
||||
if (!price) {
|
||||
setError("Unknown currency code");
|
||||
return;
|
||||
}
|
||||
setData(price.price);
|
||||
setError("");
|
||||
}, []);
|
||||
|
||||
return { data, isLoading, isSuccess, error, isError: Boolean(error) };
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue