120 lines
2.5 KiB
React
120 lines
2.5 KiB
React
|
import React from "react";
|
||
|
import {
|
||
|
View,
|
||
|
Text,
|
||
|
StyleSheet,
|
||
|
useWindowDimensions,
|
||
|
Dimensions,
|
||
|
} from "react-native";
|
||
|
import MasonryList from "@react-native-seoul/masonry-list";
|
||
|
|
||
|
const width = Dimensions.get("window").width;
|
||
|
|
||
|
const Notification = () => {
|
||
|
const notif = [
|
||
|
{
|
||
|
title: "Update!",
|
||
|
body: "the app is updated! check it on google play",
|
||
|
date: "September 23, 2023 10:00pm",
|
||
|
},
|
||
|
{
|
||
|
title: "Update!",
|
||
|
body: "the app is updated! check it on google play",
|
||
|
date: "September 23, 2023 10:00pm",
|
||
|
},
|
||
|
{
|
||
|
title: "Update!",
|
||
|
body: "the app is updated! check it on google play",
|
||
|
date: "September 23, 2023 10:00pm",
|
||
|
},
|
||
|
];
|
||
|
|
||
|
return (
|
||
|
<View style={styles.container}>
|
||
|
<View style={styles.header}>
|
||
|
<Text style={styles.headerText}>NOTIFICATIONS</Text>
|
||
|
</View>
|
||
|
<View style={styles.wrapper}>
|
||
|
<MasonryList
|
||
|
data={notif}
|
||
|
keyExtractor={(item) => item.id}
|
||
|
style={styles.list}
|
||
|
numColumns={1}
|
||
|
showsVerticalScrollIndicator={false}
|
||
|
renderItem={({ item }) => (
|
||
|
<View style={styles.card}>
|
||
|
<Text style={styles.title}>{item.title}</Text>
|
||
|
<Text style={styles.body}>{item.body}</Text>
|
||
|
<Text style={styles.date}>{item.date}</Text>
|
||
|
</View>
|
||
|
)}
|
||
|
containerStyle={styles.container1}
|
||
|
contentContainerStyle={styles.content}
|
||
|
onEndReachedThreshold={0.1}
|
||
|
/>
|
||
|
</View>
|
||
|
</View>
|
||
|
);
|
||
|
};
|
||
|
const styles = StyleSheet.create({
|
||
|
container: {
|
||
|
backgroundColor: "#ffffff",
|
||
|
padding: 10,
|
||
|
height: "100%",
|
||
|
width: width,
|
||
|
},
|
||
|
header: {
|
||
|
width: "100%",
|
||
|
top: 0,
|
||
|
height: 50,
|
||
|
// justifyContent: "space-between",
|
||
|
},
|
||
|
headerText: {
|
||
|
textAlign: "left",
|
||
|
width: "100%",
|
||
|
fontWeight: "600",
|
||
|
fontSize: 16,
|
||
|
},
|
||
|
footer: {
|
||
|
bottom: 0,
|
||
|
width: "100%",
|
||
|
},
|
||
|
wrapper: {
|
||
|
width: "100%",
|
||
|
justifyContent: "center",
|
||
|
alignItems: "center",
|
||
|
},
|
||
|
list: {
|
||
|
width: "100%",
|
||
|
justifyContent: "center",
|
||
|
alignItems: "center",
|
||
|
},
|
||
|
card: {
|
||
|
width: "100%",
|
||
|
borderWidth: 1,
|
||
|
borderColor: "#dddd",
|
||
|
justifyContent: "center",
|
||
|
padding: 15,
|
||
|
paddingVertical: 10,
|
||
|
borderRadius:10,
|
||
|
marginVertical:2
|
||
|
},
|
||
|
title: {
|
||
|
fontSize: 16,
|
||
|
fontWeight: "600",
|
||
|
},
|
||
|
body: {
|
||
|
fontSize: 16,
|
||
|
// fontWeight: "600",
|
||
|
marginTop:5
|
||
|
},
|
||
|
date: {
|
||
|
fontSize: 12,
|
||
|
// fontWeight: "600",
|
||
|
color:'#797979',
|
||
|
marginTop:10
|
||
|
},
|
||
|
});
|
||
|
|
||
|
export default Notification;
|