mirror of https://gitlab.com/m3f_usm/SmartStopAPK
67 lines
1.5 KiB
TypeScript
67 lines
1.5 KiB
TypeScript
import {View, Text, StyleSheet, StyleProp, ViewStyle} from 'react-native';
|
|
import Container from './Container';
|
|
import Icon from 'react-native-vector-icons/MaterialCommunityIcons';
|
|
|
|
interface HeaderProps {
|
|
title?: string;
|
|
subTitle?: string;
|
|
style?: StyleProp<ViewStyle>;
|
|
}
|
|
const Header = ({title, subTitle, style}: HeaderProps) => {
|
|
return (
|
|
<Container style={style}>
|
|
<View style={styles.contentContainer}>
|
|
<View style={styles.iconContainer}>
|
|
<Icon name="bus" size={70} color={'white'} />
|
|
</View>
|
|
<View style={styles.titleContainer}>
|
|
<Text style={styles.title}>{title}</Text>
|
|
{subTitle && <Text style={styles.subTitle}>{subTitle}</Text>}
|
|
</View>
|
|
</View>
|
|
</Container>
|
|
);
|
|
};
|
|
|
|
const defaultProps = {
|
|
title: 'Sin información',
|
|
subTitle: 'Sin información',
|
|
};
|
|
|
|
Header.defaultProps = defaultProps;
|
|
|
|
const styles = StyleSheet.create({
|
|
container: {
|
|
backgroundColor: 'orange',
|
|
},
|
|
contentContainer: {
|
|
flex: 1,
|
|
flexDirection: 'row',
|
|
alignItems: 'stretch',
|
|
},
|
|
iconContainer: {
|
|
justifyContent: 'center',
|
|
alignContent: 'center',
|
|
overflow: 'hidden',
|
|
},
|
|
titleContainer: {
|
|
flex: 1,
|
|
flexDirection: 'column',
|
|
justifyContent: 'center',
|
|
alignItems: 'center',
|
|
marginRight: 16,
|
|
},
|
|
title: {
|
|
fontSize: 24,
|
|
fontWeight: 'bold',
|
|
color: 'white',
|
|
},
|
|
subTitle: {
|
|
fontSize: 16,
|
|
fontWeight: 'normal',
|
|
color: 'white',
|
|
},
|
|
});
|
|
|
|
export default Header;
|