From 677b6de0f82b02e1487420e3c08fbd19a949f97b Mon Sep 17 00:00:00 2001 From: Cafe137 <77121044+Cafe137@users.noreply.github.com> Date: Wed, 24 Aug 2022 22:02:34 +0200 Subject: [PATCH] fix: pass isBeeDesktop from provider to hook (#525) --- src/hooks/apiHooks.test.ts | 8 ++++---- src/hooks/apiHooks.tsx | 11 +++-------- src/pages/info/index.tsx | 19 +++++++++---------- 3 files changed, 16 insertions(+), 22 deletions(-) diff --git a/src/hooks/apiHooks.test.ts b/src/hooks/apiHooks.test.ts index 8b7ad73..1226a70 100644 --- a/src/hooks/apiHooks.test.ts +++ b/src/hooks/apiHooks.test.ts @@ -1,8 +1,8 @@ import { renderHook } from '@testing-library/react-hooks' -import express from 'express' import cors from 'cors' +import express from 'express' import type { Server } from 'http' -import { useIsBeeDesktop } from './apiHooks' +import { useBeeDesktop } from './apiHooks' interface AddressInfo { address: string @@ -39,9 +39,9 @@ afterAll(async () => { await new Promise(resolve => serverCorrect.close(resolve)) }) -describe('useIsBeeDesktop', () => { +describe('useBeeDesktop', () => { it('should not have error when connected to bee-desktop', async () => { - const { result, waitFor } = renderHook(() => useIsBeeDesktop(true, { BEE_DESKTOP_URL: serverCorrectURL })) + const { result, waitFor } = renderHook(() => useBeeDesktop(true, { BEE_DESKTOP_URL: serverCorrectURL })) await waitFor(() => { expect(result.current.isLoading).toBe(false) diff --git a/src/hooks/apiHooks.tsx b/src/hooks/apiHooks.tsx index 1b46bb5..634993e 100644 --- a/src/hooks/apiHooks.tsx +++ b/src/hooks/apiHooks.tsx @@ -1,8 +1,8 @@ import axios from 'axios' import { useEffect, useState } from 'react' import { config } from '../config' -import { getJson } from '../utils/net' import { getLatestBeeDesktopVersion } from '../utils/desktop' +import { getJson } from '../utils/net' export interface LatestBeeReleaseHook { latestBeeRelease: LatestBeeRelease | null @@ -10,7 +10,7 @@ export interface LatestBeeReleaseHook { error: Error | null } -export interface IsBeeDesktopHook { +export interface BeeDesktopHook { error: Error | null isLoading: boolean beeDesktopVersion: string @@ -25,12 +25,7 @@ interface Config { BEE_DESKTOP_URL: string } -/** - * Detect if the dashboard is run within bee-desktop - * - * @returns isBeeDesktop true if this is run within bee-desktop - */ -export const useIsBeeDesktop = (isBeeDesktop = false, conf: Config = config): IsBeeDesktopHook => { +export const useBeeDesktop = (isBeeDesktop = false, conf: Config = config): BeeDesktopHook => { const [desktopAutoUpdateEnabled, setDesktopAutoUpdateEnabled] = useState(true) const [beeDesktopVersion, setBeeDesktopVersion] = useState('') const [isLoading, setLoading] = useState(true) diff --git a/src/pages/info/index.tsx b/src/pages/info/index.tsx index 3c3f01f..ccc834d 100644 --- a/src/pages/info/index.tsx +++ b/src/pages/info/index.tsx @@ -1,21 +1,20 @@ -import { ReactElement, useContext } from 'react' import { Button } from '@material-ui/core' -import Wallet from 'remixicon-react/Wallet3LineIcon' +import { ReactElement, useContext } from 'react' +import { useNavigate } from 'react-router' import ExchangeFunds from 'remixicon-react/ExchangeFundsLineIcon' import Upload from 'remixicon-react/UploadLineIcon' - +import Wallet from 'remixicon-react/Wallet3LineIcon' +import Card from '../../components/Card' +import ExpandableListItem from '../../components/ExpandableListItem' +import Map from '../../components/Map' +import { useBeeDesktop, useNewBeeDesktopVersion } from '../../hooks/apiHooks' import { Context as BeeContext } from '../../providers/Bee' import { Context as SettingsContext } from '../../providers/Settings' import { Context as BalanceProvider } from '../../providers/WalletBalance' -import Card from '../../components/Card' -import Map from '../../components/Map' -import ExpandableListItem from '../../components/ExpandableListItem' -import { useNavigate } from 'react-router' import { ROUTES } from '../../routes' -import { useIsBeeDesktop, useNewBeeDesktopVersion } from '../../hooks/apiHooks' +import { chainIdToName } from '../../utils/chain' import { BEE_DESKTOP_LATEST_RELEASE_PAGE } from '../../utils/desktop' import NodeInfoCard from './NodeInfoCard' -import { chainIdToName } from '../../utils/chain' export default function Status(): ReactElement { const { @@ -30,7 +29,7 @@ export default function Status(): ReactElement { } = useContext(BeeContext) const { isBeeDesktop } = useContext(SettingsContext) const { balance, error } = useContext(BalanceProvider) - const { beeDesktopVersion } = useIsBeeDesktop() + const { beeDesktopVersion } = useBeeDesktop(isBeeDesktop) const { newBeeDesktopVersion } = useNewBeeDesktopVersion(isBeeDesktop) const navigate = useNavigate()