feishin/src/shared/components/spinner/spinner.tsx

36 lines
849 B
TypeScript
Raw Normal View History

import { Center } from '@mantine/core';
2025-05-20 19:23:36 -07:00
import { IconBaseProps } from 'react-icons';
2022-12-19 15:59:14 -08:00
import { RiLoader5Fill } from 'react-icons/ri';
import styles from './spinner.module.css';
2022-12-19 15:59:14 -08:00
2025-05-20 19:23:36 -07:00
interface SpinnerProps extends IconBaseProps {
2023-07-01 19:10:05 -07:00
color?: string;
container?: boolean;
size?: number;
2022-12-19 15:59:14 -08:00
}
export const SpinnerIcon = RiLoader5Fill;
2022-12-19 15:59:14 -08:00
export const Spinner = ({ ...props }: SpinnerProps) => {
2023-07-01 19:10:05 -07:00
if (props.container) {
return (
<Center className={styles.container}>
2023-07-01 19:10:05 -07:00
<SpinnerIcon
className={styles.icon}
2023-07-01 19:10:05 -07:00
color={props.color}
size={props.size}
/>
</Center>
);
}
2023-06-02 13:07:30 -07:00
return (
<SpinnerIcon
className={styles.icon}
color={props.color}
size={props.size}
/>
);
2022-12-19 15:59:14 -08:00
};