From 9ce1041b0eef9db38d18816ae3fbd50251fa5d2a Mon Sep 17 00:00:00 2001 From: Charles Date: Sun, 30 Oct 2022 12:55:32 +0000 Subject: [PATCH] [WIFI-11392] Refetch all endpoints on System page Signed-off-by: Charles --- package-lock.json | 4 ++-- package.json | 2 +- src/hooks/Network/Endpoints.ts | 23 ++--------------------- src/pages/SystemPage/index.tsx | 19 ++++++++++++++++--- 4 files changed, 21 insertions(+), 27 deletions(-) diff --git a/package-lock.json b/package-lock.json index bc9629b..8d48bf0 100644 --- a/package-lock.json +++ b/package-lock.json @@ -1,12 +1,12 @@ { "name": "ucentral-client", - "version": "2.8.0(2)", + "version": "2.8.0(3)", "lockfileVersion": 2, "requires": true, "packages": { "": { "name": "ucentral-client", - "version": "2.8.0(2)", + "version": "2.8.0(3)", "license": "ISC", "dependencies": { "@chakra-ui/icons": "^2.0.11", diff --git a/package.json b/package.json index 43c5517..4696f0a 100644 --- a/package.json +++ b/package.json @@ -1,6 +1,6 @@ { "name": "ucentral-client", - "version": "2.8.0(2)", + "version": "2.8.0(3)", "description": "", "private": true, "main": "index.tsx", diff --git a/src/hooks/Network/Endpoints.ts b/src/hooks/Network/Endpoints.ts index ec54430..e30fce9 100644 --- a/src/hooks/Network/Endpoints.ts +++ b/src/hooks/Network/Endpoints.ts @@ -1,8 +1,5 @@ -import { useToast } from '@chakra-ui/react'; import { useQuery } from '@tanstack/react-query'; -import { useTranslation } from 'react-i18next'; import { axiosGw, axiosProv, axiosSec } from 'constants/axiosInstances'; -import { AxiosError } from 'models/Axios'; export type EndpointApiResponse = { authenticationType: string; @@ -12,11 +9,8 @@ export type EndpointApiResponse = { vendor: string; }; -export const useGetEndpoints = ({ onSuccess }: { onSuccess: (data: EndpointApiResponse[]) => void }) => { - const { t } = useTranslation(); - const toast = useToast(); - - return useQuery( +export const useGetEndpoints = ({ onSuccess }: { onSuccess: (data: EndpointApiResponse[]) => void }) => + useQuery( ['get-endpoints'], () => axiosSec @@ -26,21 +20,8 @@ export const useGetEndpoints = ({ onSuccess }: { onSuccess: (data: EndpointApiRe enabled: false, staleTime: Infinity, onSuccess, - onError: (e: AxiosError) => { - if (!toast.isActive('endpoints-fetching-error')) - toast({ - id: 'user-fetching-error', - title: t('common.error'), - description: t('user.error_fetching', { e: e?.response?.data?.ErrorDescription }), - status: 'error', - duration: 5000, - isClosable: true, - position: 'top-right', - }); - }, }, ); -}; export const useGetGatewayUi = () => useQuery(['get-gw-ui'], () => axiosGw.get('system?command=info').then(({ data }) => data.UI), { diff --git a/src/pages/SystemPage/index.tsx b/src/pages/SystemPage/index.tsx index 5bafcb8..7552d87 100644 --- a/src/pages/SystemPage/index.tsx +++ b/src/pages/SystemPage/index.tsx @@ -1,14 +1,19 @@ import React from 'react'; -import { Flex, SimpleGrid } from '@chakra-ui/react'; +import { Flex, Heading, SimpleGrid, Spacer } from '@chakra-ui/react'; +import { useTranslation } from 'react-i18next'; import { v4 as uuid } from 'uuid'; import SystemTile from './SystemTile'; +import { RefreshButton } from 'components/Buttons/RefreshButton'; +import { Card } from 'components/Containers/Card'; +import { CardHeader } from 'components/Containers/Card/CardHeader'; import { axiosSec } from 'constants/axiosInstances'; import { useAuth } from 'contexts/AuthProvider'; import { useGetEndpoints } from 'hooks/Network/Endpoints'; const SystemPage = () => { + const { t } = useTranslation(); const { token, isUserLoaded } = useAuth(); - const { data: endpoints } = useGetEndpoints({ onSuccess: () => {} }); + const { data: endpoints, refetch, isFetching } = useGetEndpoints({ onSuccess: () => {} }); const endpointsList = React.useMemo(() => { if (!endpoints || !token || !isUserLoaded) return null; @@ -35,11 +40,19 @@ const SystemPage = () => { return ( + + + + {t('controller.firmware.endpoints')} ({endpoints?.length ?? 0}) + + + + + {endpointsList} ); }; - export default SystemPage;