ConceptPortal-public/rsconcept/frontend/src/components/ui/Loader.tsx

28 lines
708 B
TypeScript
Raw Normal View History

'use client';
import { ThreeCircles, ThreeDots } from 'react-loader-spinner';
2023-07-15 17:46:19 +03:00
import { useConceptOptions } from '@/context/ConceptOptionsContext';
2024-03-20 15:27:32 +03:00
import AnimateFade from '../wrap/AnimateFade';
2024-01-07 03:29:16 +03:00
interface LoaderProps {
2023-12-28 14:04:44 +03:00
size?: number;
circular?: boolean;
}
function Loader({ size = 10, circular }: LoaderProps) {
2024-04-01 19:07:20 +03:00
const { colors } = useConceptOptions();
2023-07-15 17:46:19 +03:00
return (
2024-01-07 03:29:16 +03:00
<AnimateFade noFadeIn className='flex justify-center'>
{circular ? (
<ThreeCircles color={colors.bgPrimary} height={size * 10} width={size * 10} />
) : (
<ThreeDots color={colors.bgPrimary} height={size * 10} width={size * 10} radius={size} />
)}
2024-01-07 03:29:16 +03:00
</AnimateFade>
2023-12-28 14:04:44 +03:00
);
}
2024-01-07 03:29:16 +03:00
export default Loader;