Merge pull request #1128 from palash-signoz/error-handling-error-detail

fix: error details error is handled
This commit is contained in:
palash-signoz 2022-05-17 11:49:50 +05:30 committed by GitHub
commit de3928c51f
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23

View File

@ -5,6 +5,7 @@ import Spinner from 'components/Spinner';
import ROUTES from 'constants/routes'; import ROUTES from 'constants/routes';
import ErrorDetailsContainer from 'container/ErrorDetails'; import ErrorDetailsContainer from 'container/ErrorDetails';
import React from 'react'; import React from 'react';
import { useTranslation } from 'react-i18next';
import { useQuery } from 'react-query'; import { useQuery } from 'react-query';
import { useSelector } from 'react-redux'; import { useSelector } from 'react-redux';
import { Redirect, useLocation } from 'react-router-dom'; import { Redirect, useLocation } from 'react-router-dom';
@ -13,6 +14,7 @@ import { PayloadProps } from 'types/api/errors/getById';
import { GlobalReducer } from 'types/reducer/globalTime'; import { GlobalReducer } from 'types/reducer/globalTime';
function ErrorDetails(): JSX.Element { function ErrorDetails(): JSX.Element {
const { t } = useTranslation(['common']);
const { maxTime, minTime } = useSelector<AppState, GlobalReducer>( const { maxTime, minTime } = useSelector<AppState, GlobalReducer>(
(state) => state.globalTime, (state) => state.globalTime,
); );
@ -22,6 +24,7 @@ function ErrorDetails(): JSX.Element {
const errorId = params.get('errorId'); const errorId = params.get('errorId');
const errorType = params.get('errorType'); const errorType = params.get('errorType');
const serviceName = params.get('serviceName'); const serviceName = params.get('serviceName');
const defaultError = t('something_went_wrong');
const { data, status } = useQuery( const { data, status } = useQuery(
[ [
@ -72,16 +75,31 @@ function ErrorDetails(): JSX.Element {
}, },
); );
// if errorType and serviceName is null redirecting to the ALL_ERROR page not now
if (errorType === null || serviceName === null) { if (errorType === null || serviceName === null) {
return <Redirect to={ROUTES.ALL_ERROR} />; return <Redirect to={ROUTES.ALL_ERROR} />;
} }
// when the api is in loading state
if (status === 'loading' || ErrorIdStatus === 'loading') { if (status === 'loading' || ErrorIdStatus === 'loading') {
return <Spinner tip="Loading.." />; return <Spinner tip="Loading.." />;
} }
// if any error occurred while loading
if (status === 'error' || ErrorIdStatus === 'error') { if (status === 'error' || ErrorIdStatus === 'error') {
return <Typography>{data?.error || errorIdPayload?.error}</Typography>; return (
<Typography>
{data?.error || errorIdPayload?.error || defaultError}
</Typography>
);
}
// if API is successfully but there is an error
if (
(status === 'success' && data?.statusCode >= 400) ||
(ErrorIdStatus === 'success' && errorIdPayload.statusCode >= 400)
) {
return <Typography>{data?.error || defaultError}</Typography>;
} }
return ( return (