feat: add loading
This commit is contained in:
24
packages/ui/src/components/loading/Load.tsx
Normal file
24
packages/ui/src/components/loading/Load.tsx
Normal file
@@ -0,0 +1,24 @@
|
||||
type LoadingProps = {
|
||||
loading?: boolean;
|
||||
children?: React.ReactNode;
|
||||
};
|
||||
export const Loading = (props: LoadingProps) => {
|
||||
if (!props.loading) return <>{props.children}</>;
|
||||
return (
|
||||
<div className='w-full h-full flex justify-center items-center'>
|
||||
<div className='w-20 h-20 border-t-8 border-b-8 rounded-full animate-spin'></div>
|
||||
</div>
|
||||
);
|
||||
};
|
||||
type ShowContentProps = {
|
||||
className: string;
|
||||
open?: boolean;
|
||||
children?: React.ReactNode;
|
||||
blank?: React.ReactNode;
|
||||
};
|
||||
|
||||
export const LoadContent = (props: ShowContentProps) => {
|
||||
let open = props.open ?? true;
|
||||
if (open) return <>{props.children}</>;
|
||||
return <div className={props.className}>{props?.blank}</div>;
|
||||
};
|
||||
1
packages/ui/src/components/loading/index.ts
Normal file
1
packages/ui/src/components/loading/index.ts
Normal file
@@ -0,0 +1 @@
|
||||
export * from './Load';
|
||||
Reference in New Issue
Block a user