Fix loading flicker

This commit is contained in:
IRBorisov 2024-04-02 12:26:46 +03:00
parent 9fe73a607a
commit 1954da2aa3

View File

@ -17,15 +17,15 @@ interface DataLoaderProps extends CProps.AnimatedDiv {
function DataLoader({ id, isLoading, hasNoData, error, children, ...restProps }: DataLoaderProps) { function DataLoader({ id, isLoading, hasNoData, error, children, ...restProps }: DataLoaderProps) {
return ( return (
<AnimatePresence> <AnimatePresence mode='wait'>
{isLoading ? <Loader key={`${id}-loader`} /> : null}
{error ? <InfoError key={`${id}-error`} error={error} /> : null}
<AnimateFade id={id} key={`${id}-data`} removeContent={isLoading || !!error || hasNoData} {...restProps}> <AnimateFade id={id} key={`${id}-data`} removeContent={isLoading || !!error || hasNoData} {...restProps}>
{children} {children}
</AnimateFade> </AnimateFade>
<AnimateFade id={id} key={`${id}-no-data`} removeContent={isLoading || !!error || !hasNoData} {...restProps}> <AnimateFade key={`${id}-no-data`} removeContent={isLoading || !!error || !hasNoData} {...restProps}>
Данные не загружены Данные не загружены
</AnimateFade> </AnimateFade>
{isLoading ? <Loader key={`${id}-loader`} /> : null}
{error ? <InfoError key={`${id}-error`} error={error} /> : null}
</AnimatePresence> </AnimatePresence>
); );
} }