mirror of
https://github.com/IRBorisov/ConceptPortal.git
synced 2025-06-26 13:00:39 +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 {
|
interface AnimateFadeProps extends CProps.AnimatedDiv {
|
||||||
noFadeIn?: boolean;
|
noFadeIn?: boolean;
|
||||||
noFadeOut?: boolean;
|
noFadeOut?: boolean;
|
||||||
removeContent?: boolean;
|
|
||||||
hideContent?: boolean;
|
hideContent?: boolean;
|
||||||
}
|
}
|
||||||
|
|
||||||
function AnimateFade({
|
function AnimateFade({ style, noFadeIn, noFadeOut, children, hideContent, ...restProps }: AnimateFadeProps) {
|
||||||
style,
|
|
||||||
noFadeIn,
|
|
||||||
noFadeOut,
|
|
||||||
children,
|
|
||||||
removeContent,
|
|
||||||
hideContent,
|
|
||||||
...restProps
|
|
||||||
}: AnimateFadeProps) {
|
|
||||||
if (removeContent) {
|
|
||||||
return null;
|
|
||||||
}
|
|
||||||
return (
|
return (
|
||||||
<motion.div
|
<motion.div
|
||||||
tabIndex={-1}
|
tabIndex={-1}
|
||||||
|
|
|
@ -18,12 +18,16 @@ 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 mode='wait'>
|
<AnimatePresence mode='wait'>
|
||||||
<AnimateFade id={id} key={`${id}-data`} removeContent={isLoading || !!error || hasNoData} {...restProps}>
|
{!isLoading && !error && !hasNoData ? (
|
||||||
|
<AnimateFade id={id} key={`${id}-data`} {...restProps}>
|
||||||
{children}
|
{children}
|
||||||
</AnimateFade>
|
</AnimateFade>
|
||||||
<AnimateFade key={`${id}-no-data`} removeContent={isLoading || !!error || !hasNoData} {...restProps}>
|
) : null}
|
||||||
|
{!isLoading && !error && hasNoData ? (
|
||||||
|
<AnimateFade key={`${id}-no-data`} {...restProps}>
|
||||||
Данные не загружены
|
Данные не загружены
|
||||||
</AnimateFade>
|
</AnimateFade>
|
||||||
|
) : null}
|
||||||
{isLoading ? <Loader key={`${id}-loader`} /> : null}
|
{isLoading ? <Loader key={`${id}-loader`} /> : null}
|
||||||
{error ? <InfoError key={`${id}-error`} error={error} /> : null}
|
{error ? <InfoError key={`${id}-error`} error={error} /> : null}
|
||||||
</AnimatePresence>
|
</AnimatePresence>
|
||||||
|
|
Loading…
Reference in New Issue
Block a user