33 lines
812 B
TypeScript
33 lines
812 B
TypeScript
import React from 'react';
|
|
import { View, ActivityIndicator, Text, StyleSheet } from 'react-native';
|
|
import { useThemeContext } from './ThemeProvider';
|
|
import { spacing } from '../constants/theme';
|
|
|
|
interface LoadingSpinnerProps {
|
|
message?: string;
|
|
}
|
|
|
|
export function LoadingSpinner({ message = 'Cargando...' }: LoadingSpinnerProps) {
|
|
const { colors } = useThemeContext();
|
|
|
|
return (
|
|
<View style={styles.container}>
|
|
<ActivityIndicator size="large" color={colors.primary} />
|
|
<Text style={[styles.message, { color: colors.textSecondary }]}>{message}</Text>
|
|
</View>
|
|
);
|
|
}
|
|
|
|
const styles = StyleSheet.create({
|
|
container: {
|
|
flex: 1,
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
padding: spacing.xl,
|
|
},
|
|
message: {
|
|
marginTop: spacing.md,
|
|
fontSize: 16,
|
|
},
|
|
});
|