/
githubmirror
/
ydb-embedded-ui
Обзор
Документация
Войти
/
githubmirror
/
ydb-embedded-ui
Код
Запросы
0
Пакеты
0
Релизы
0
Аналитика
Безопасность
main
src/containers/GetUserWrapper/GetUserWrapper.tsx
71 строка
2 KB
Hellen
fix(HomePage): block databases if meta/whoami error (#4101)
09 июл 2026, 13:19
Не верифицирован
09 июл 2026, 13:19
2ddb653
Код
Авторство
О чём код?
import React from 'react'; import {PageError} from '../../components/Errors/PageError/PageError'; import {LoaderWrapper} from '../../components/LoaderWrapper/LoaderWrapper'; import {authenticationApi} from '../../store/reducers/authentication/authentication'; import {uiFactory} from '../../uiFactory/uiFactory'; import {useDatabaseFromQuery} from '../../utils/hooks/useDatabaseFromQuery'; import {useMetaAuth} from '../../utils/hooks/useMetaAuth'; import {useAppTitle} from '../App/AppTitleContext'; import {SettingsBootstrap} from '../App/SettingsBootstrap'; import {useHandleVisibilityChange} from './useHandleVisibilityChange'; export function GetUser({ children, useMeta, // Allow content on databases home tab to be displayed even when whoami responds with an error displayWhoamiError = true, }: { children: React.ReactNode; useMeta?: boolean; displayWhoamiError?: boolean; }) { const database = useDatabaseFromQuery(); const {isFetching, error, refetch} = authenticationApi.useWhoamiQuery({ database, useMeta, }); useHandleVisibilityChange(refetch); const {appTitle} = useAppTitle(); const errorToDisplay = displayWhoamiError ? error : undefined; const errorProps = errorToDisplay ? {...uiFactory.clusterOrDatabaseAccessError} : undefined; return ( <LoaderWrapper loading={isFetching} size="l" delay={0}> <PageError error={errorToDisplay} {...errorProps} size="l" illustrationSize="m" errorPageTitle={appTitle} > <SettingsBootstrap>{children}</SettingsBootstrap> </PageError> </LoaderWrapper> ); } export function GetMetaUser({ children, displayWhoamiError, }: { children: React.ReactNode; displayWhoamiError?: boolean; }) { const metaAuth = useMetaAuth(); if (metaAuth) { return ( <GetUser displayWhoamiError={displayWhoamiError} useMeta> {children} </GetUser> ); } return children; }