2025-05-18 14:03:18 -07:00
|
|
|
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';
|
2025-05-18 14:03:18 -07:00
|
|
|
|
2025-06-24 00:04:36 -07:00
|
|
|
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
|
|
|
}
|
|
|
|
|
|
2025-06-24 00:04:36 -07: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 (
|
2025-06-24 00:04:36 -07:00
|
|
|
<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
|
|
|
};
|