mirror of
				https://github.com/elyby/accounts-frontend.git
				synced 2025-05-31 14:11:58 +05:30 
			
		
		
		
	
		
			
				
	
	
		
			25 lines
		
	
	
		
			673 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
			
		
		
	
	
			25 lines
		
	
	
		
			673 B
		
	
	
	
		
			TypeScript
		
	
	
	
	
	
import React, { ComponentType } from 'react';
 | 
						|
import clsx from 'clsx';
 | 
						|
 | 
						|
import { Skin } from 'app/components/ui';
 | 
						|
 | 
						|
import styles from './componentLoader.scss';
 | 
						|
 | 
						|
// TODO: add mode to not show loader until first ~150ms
 | 
						|
 | 
						|
interface Props {
 | 
						|
    skin?: Skin;
 | 
						|
}
 | 
						|
 | 
						|
const ComponentLoader: ComponentType<Props> = ({ skin = 'dark' }) => (
 | 
						|
    <div className={clsx(styles.componentLoader, styles[`${skin}ComponentLoader`])}>
 | 
						|
        <div className={styles.spins}>
 | 
						|
            {new Array(5).fill(0).map((_, index) => (
 | 
						|
                <div className={clsx(styles.spin, styles[`spin${index}`])} key={index} />
 | 
						|
            ))}
 | 
						|
        </div>
 | 
						|
    </div>
 | 
						|
);
 | 
						|
 | 
						|
export default ComponentLoader;
 |