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}>
|
2023-07-01 19:10:05 -07:00
|
|
|
<SpinnerIcon
|
2025-06-24 00:04:36 -07:00
|
|
|
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
|
|
|
|
2025-06-24 00:04:36 -07:00
|
|
|
return (
|
|
|
|
|
<SpinnerIcon
|
|
|
|
|
className={styles.icon}
|
|
|
|
|
color={props.color}
|
|
|
|
|
size={props.size}
|
|
|
|
|
/>
|
|
|
|
|
);
|
2022-12-19 15:59:14 -08:00
|
|
|
};
|