File size: 1,005 Bytes
71638d4 | 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 | import React from 'react';
import { View, ActivityIndicator, StyleSheet, ViewStyle } from 'react-native';
import { colors } from '../../theme';
interface LoaderProps {
size?: 'small' | 'large';
color?: string;
style?: ViewStyle;
fullScreen?: boolean;
}
export const Loader: React.FC<LoaderProps> = ({
size = 'small',
color = colors.primary.main,
style,
fullScreen = false
}) => {
if (fullScreen) {
return (
<View style={[styles.fullScreen, style]}>
<ActivityIndicator size={size} color={color} />
</View>
);
}
return (
<View style={[styles.container, style]}>
<ActivityIndicator size={size} color={color} />
</View>
);
};
const styles = StyleSheet.create({
container: {
justifyContent: 'center',
alignItems: 'center',
padding: 10,
},
fullScreen: {
...StyleSheet.absoluteFillObject,
backgroundColor: 'rgba(255,255,255,0.8)',
justifyContent: 'center',
alignItems: 'center',
zIndex: 999,
},
});
|