GabrielTrettel
4 years ago
2 changed files with 72 additions and 49 deletions
@ -0,0 +1,66 @@ |
|||
import React from "react"; |
|||
import { |
|||
Modal, |
|||
View, |
|||
StyleSheet, |
|||
TouchableWithoutFeedback, |
|||
} from "react-native"; |
|||
import { screen_height, screen_width } from "../config/dimensions"; |
|||
|
|||
export default function SelfClosingModal(props) { |
|||
return ( |
|||
<View style={styles.centeredView}> |
|||
<Modal |
|||
animationType={props.animationType} |
|||
transparent={props.transparent} |
|||
visible={props.visible} |
|||
> |
|||
<TouchableWithoutFeedback |
|||
onPress={() => props.setVisible(!props.visible)} |
|||
> |
|||
<View style={styles.modalOverlay} /> |
|||
</TouchableWithoutFeedback> |
|||
|
|||
<View style={styles.centeredView}> |
|||
<View style={styles.modalView}>{props.children}</View> |
|||
</View> |
|||
</Modal> |
|||
</View> |
|||
); |
|||
} |
|||
|
|||
const styles = StyleSheet.create({ |
|||
centeredView: { |
|||
flex: 1, |
|||
justifyContent: "flex-end", |
|||
alignItems: "center", |
|||
marginTop: 22, |
|||
}, |
|||
modalView: { |
|||
margin: 20, |
|||
width: screen_width, |
|||
height: screen_height * 0.4, |
|||
backgroundColor: "white", |
|||
borderTopLeftRadius: 10, |
|||
borderTopRightRadius: 10, |
|||
padding: 35, |
|||
marginBottom: 0, |
|||
alignItems: "center", |
|||
shadowColor: "#000", |
|||
shadowOffset: { |
|||
width: 0, |
|||
height: 2, |
|||
}, |
|||
shadowOpacity: 0.25, |
|||
shadowRadius: 4, |
|||
elevation: 5, |
|||
}, |
|||
modalOverlay: { |
|||
position: "absolute", |
|||
top: 0, |
|||
bottom: 0, |
|||
left: 0, |
|||
right: 0, |
|||
backgroundColor: "rgba(0,0,0,0)", |
|||
}, |
|||
}); |
Write
Preview
Loading…
Cancel
Save
Reference in new issue