From 8a5c907f685e5436e73ab5257e83875d9cb81aad Mon Sep 17 00:00:00 2001 From: Elena Makarova <el-makarova@yandex-team.ru> Date: Wed, 25 Dec 2024 16:04:14 +0300 Subject: [PATCH 1/3] fix(Cluster): show loader if capabilities not loaded --- src/containers/App/Content.tsx | 14 +++++++++----- src/store/reducers/capabilities/hooks.ts | 2 +- 2 files changed, 10 insertions(+), 6 deletions(-) diff --git a/src/containers/App/Content.tsx b/src/containers/App/Content.tsx index 6f05e1fa8..6ca0f63d4 100644 --- a/src/containers/App/Content.tsx +++ b/src/containers/App/Content.tsx @@ -178,8 +178,7 @@ function DataWrapper({children}: {children: React.ReactNode}) { return ( <GetUser> <GetNodesList /> - <GetCapabilities /> - {children} + <GetCapabilities>{children}</GetCapabilities> </GetUser> ); } @@ -199,9 +198,14 @@ function GetNodesList() { return null; } -function GetCapabilities() { - useCapabilitiesQuery(); - return null; +function GetCapabilities({children}: {children: React.ReactNode}) { + const {isLoading} = useCapabilitiesQuery(); + + return ( + <LoaderWrapper loading={isLoading} size="l"> + {children} + </LoaderWrapper> + ); } interface ContentWrapperProps { diff --git a/src/store/reducers/capabilities/hooks.ts b/src/store/reducers/capabilities/hooks.ts index cafdfdda7..cdf026748 100644 --- a/src/store/reducers/capabilities/hooks.ts +++ b/src/store/reducers/capabilities/hooks.ts @@ -15,7 +15,7 @@ function useDatabaseFromQuery() { export function useCapabilitiesQuery() { const database = useDatabaseFromQuery(); - capabilitiesApi.useGetClusterCapabilitiesQuery({database}); + return capabilitiesApi.useGetClusterCapabilitiesQuery({database}); } export function useCapabilitiesLoaded() { From 225f4c5cd0397aa9f892ac652ff24bbde14dd36f Mon Sep 17 00:00:00 2001 From: Elena Makarova <el-makarova@yandex-team.ru> Date: Wed, 25 Dec 2024 16:17:44 +0300 Subject: [PATCH 2/3] fix: typecheck --- src/store/reducers/capabilities/hooks.ts | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/src/store/reducers/capabilities/hooks.ts b/src/store/reducers/capabilities/hooks.ts index cdf026748..3f33f44f0 100644 --- a/src/store/reducers/capabilities/hooks.ts +++ b/src/store/reducers/capabilities/hooks.ts @@ -15,7 +15,8 @@ function useDatabaseFromQuery() { export function useCapabilitiesQuery() { const database = useDatabaseFromQuery(); - return capabilitiesApi.useGetClusterCapabilitiesQuery({database}); + const result = capabilitiesApi.useGetClusterCapabilitiesQuery({database}); + return result; } export function useCapabilitiesLoaded() { From 6d6ed98da42e774b896f537619fc989c7e06dca9 Mon Sep 17 00:00:00 2001 From: Elena Makarova <el-makarova@yandex-team.ru> Date: Wed, 25 Dec 2024 16:23:35 +0300 Subject: [PATCH 3/3] fix: typecheck --- src/containers/App/Content.tsx | 7 ++++--- src/store/reducers/capabilities/hooks.ts | 3 +-- 2 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/containers/App/Content.tsx b/src/containers/App/Content.tsx index 6ca0f63d4..eb39f719f 100644 --- a/src/containers/App/Content.tsx +++ b/src/containers/App/Content.tsx @@ -12,7 +12,7 @@ import type {SlotComponent} from '../../components/slots/types'; import routes from '../../routes'; import type {RootState} from '../../store'; import {authenticationApi} from '../../store/reducers/authentication/authentication'; -import {useCapabilitiesQuery} from '../../store/reducers/capabilities/hooks'; +import {useCapabilitiesLoaded, useCapabilitiesQuery} from '../../store/reducers/capabilities/hooks'; import {nodesListApi} from '../../store/reducers/nodesList'; import {cn} from '../../utils/cn'; import {lazyComponent} from '../../utils/lazyComponent'; @@ -199,10 +199,11 @@ function GetNodesList() { } function GetCapabilities({children}: {children: React.ReactNode}) { - const {isLoading} = useCapabilitiesQuery(); + useCapabilitiesQuery(); + const capabilitiesLoaded = useCapabilitiesLoaded(); return ( - <LoaderWrapper loading={isLoading} size="l"> + <LoaderWrapper loading={!capabilitiesLoaded} size="l"> {children} </LoaderWrapper> ); diff --git a/src/store/reducers/capabilities/hooks.ts b/src/store/reducers/capabilities/hooks.ts index 3f33f44f0..cafdfdda7 100644 --- a/src/store/reducers/capabilities/hooks.ts +++ b/src/store/reducers/capabilities/hooks.ts @@ -15,8 +15,7 @@ function useDatabaseFromQuery() { export function useCapabilitiesQuery() { const database = useDatabaseFromQuery(); - const result = capabilitiesApi.useGetClusterCapabilitiesQuery({database}); - return result; + capabilitiesApi.useGetClusterCapabilitiesQuery({database}); } export function useCapabilitiesLoaded() {