Make it dynamic

This commit is contained in:
KoalaSat
2024-03-15 12:58:41 +01:00
parent 10054407c6
commit 4916f886ad
2 changed files with 15 additions and 13 deletions

View File

@ -34,22 +34,14 @@ interface Props {
const ExchangeDialog = ({ open = false, onClose }: Props): JSX.Element => {
const { t } = useTranslation();
const { federation, federationUpdatedAt } = useContext(FederationContext);
const { federation, coordinatorUpdatedAt, federationUpdatedAt } = useContext(FederationContext);
const [loadingProgress, setLoadingProgress] = useState<number>(0);
useEffect(() => {
if (open) federation.updateExchange();
}, [open]);
useEffect(() => {
setLoadingProgress(
(federation.exchange.onlineCoordinators / federation.exchange.totalCoordinators) * 100,
);
}, [
federationUpdatedAt,
federation.exchange.onlineCoordinators,
federation.exchange.totalCoordinators,
]);
const loadedCoordinators =
federation.exchange.enabledCoordinators - federation.exchange.loadingCoordinators;
setLoadingProgress((loadedCoordinators / federation.exchange.enabledCoordinators) * 100);
}, [open, coordinatorUpdatedAt, federationUpdatedAt]);
return (
<Dialog open={open} onClose={onClose}>

View File

@ -96,6 +96,16 @@ export class Federation {
update = async (): Promise<void> => {
this.loading = true;
this.exchange.info = {
num_public_buy_orders: 0,
num_public_sell_orders: 0,
book_liquidity: 0,
active_robots_today: 0,
last_day_nonkyc_btc_premium: 0,
last_day_volume: 0,
lifetime_volume: 0,
version: { major: 0, minor: 0, patch: 0 },
};
this.exchange.loadingCoordinators = Object.keys(this.coordinators).length;
for (const coor of Object.values(this.coordinators)) {
await coor.update(() => {