feat: Loading Common

This commit is contained in:
sonnguyenkieio 2021-09-08 14:28:47 +07:00
parent 943c739143
commit 1cc64c6fd0
2 changed files with 57 additions and 0 deletions

View File

@ -0,0 +1,31 @@
@import '../../../styles/utilities';
.loadingCommon:empty {
@apply bg-white;
border-radius: 50%;
border: .7rem solid var(--primary-lightest);
border-top: .7rem solid var(--primary);
animation: spin 2s linear infinite;
margin: auto;
@keyframes spin {
0% { transform: rotate(0deg); }
100% { transform: rotate(360deg); }
}
&.small {
height: 5rem;
width: 5rem;
}
&.default {
height: 7rem;
width: 7rem;
}
&.large {
height: 10rem;
width: 10rem;
}
}

View File

@ -0,0 +1,26 @@
import classNames from "classnames";
import React from "react";
import s from './LoadingCommon.module.scss'
interface LoadingCommonProps {
visible: boolean
size?: "small" | "default" | "large",
children? : React.ReactNode;
}
const LoadingCommon = ({ visible, size="default", children }: LoadingCommonProps) => {
return (
<>
{
visible && <div className={classNames(s.loadingCommon, {
[s[size]]: size
})}>
{children}
</div>
}
</>
)
}
export default LoadingCommon