mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 04:50:36 +03:00
Prevent simultaneous animation warning
This commit is contained in:
parent
8464a97a0b
commit
04337648bb
|
@ -7,22 +7,10 @@ import { CProps } from '../props';
|
|||
interface AnimateFadeProps extends CProps.AnimatedDiv {
|
||||
noFadeIn?: boolean;
|
||||
noFadeOut?: boolean;
|
||||
removeContent?: boolean;
|
||||
hideContent?: boolean;
|
||||
}
|
||||
|
||||
function AnimateFade({
|
||||
style,
|
||||
noFadeIn,
|
||||
noFadeOut,
|
||||
children,
|
||||
removeContent,
|
||||
hideContent,
|
||||
...restProps
|
||||
}: AnimateFadeProps) {
|
||||
if (removeContent) {
|
||||
return null;
|
||||
}
|
||||
function AnimateFade({ style, noFadeIn, noFadeOut, children, hideContent, ...restProps }: AnimateFadeProps) {
|
||||
return (
|
||||
<motion.div
|
||||
tabIndex={-1}
|
||||
|
|
|
@ -18,12 +18,16 @@ interface DataLoaderProps extends CProps.AnimatedDiv {
|
|||
function DataLoader({ id, isLoading, hasNoData, error, children, ...restProps }: DataLoaderProps) {
|
||||
return (
|
||||
<AnimatePresence mode='wait'>
|
||||
<AnimateFade id={id} key={`${id}-data`} removeContent={isLoading || !!error || hasNoData} {...restProps}>
|
||||
{children}
|
||||
</AnimateFade>
|
||||
<AnimateFade key={`${id}-no-data`} removeContent={isLoading || !!error || !hasNoData} {...restProps}>
|
||||
Данные не загружены
|
||||
</AnimateFade>
|
||||
{!isLoading && !error && !hasNoData ? (
|
||||
<AnimateFade id={id} key={`${id}-data`} {...restProps}>
|
||||
{children}
|
||||
</AnimateFade>
|
||||
) : null}
|
||||
{!isLoading && !error && hasNoData ? (
|
||||
<AnimateFade key={`${id}-no-data`} {...restProps}>
|
||||
Данные не загружены
|
||||
</AnimateFade>
|
||||
) : null}
|
||||
{isLoading ? <Loader key={`${id}-loader`} /> : null}
|
||||
{error ? <InfoError key={`${id}-error`} error={error} /> : null}
|
||||
</AnimatePresence>
|
||||
|
|
Loading…
Reference in New Issue
Block a user