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

26 lines
713 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}>
2025-07-12 11:17:54 -07:00
<SpinnerIcon className={styles.icon} color={props.color} size={props.size} />
2023-07-01 19:10:05 -07:00
</Center>
);
}
2023-06-02 13:07:30 -07:00
2025-07-12 11:17:54 -07:00
return <SpinnerIcon className={styles.icon} color={props.color} size={props.size} />;
2022-12-19 15:59:14 -08:00
};