diff --git a/components/EventCard.js b/components/EventCard.js new file mode 100644 index 0000000..b342f49 --- /dev/null +++ b/components/EventCard.js @@ -0,0 +1,37 @@ +import { StyleSheet, Text, TouchableOpacity, View } from "react-native"; +import Colors from "../constants/colors"; + +const EventCard = (props) => { + return ( + + + + {props.event._name} ({props.event._date}) + + + + ); +}; + +const styles = StyleSheet.create({ + screen: { + flex: 1, + alignItem: "center", + justifyContent: "center", + backgroundColor: Colors.primary500, + }, + eventItem: { + margin: 10, + padding: 10, + borderRadius: 10, + borderWidth: 1, + borderColor: "white", + height: 60, + backgroundColor: Colors.primary400, + }, + text: { + color: "white", + }, +}); + +export default EventCard; diff --git a/data/EventData.js b/data/EventData.js new file mode 100644 index 0000000..a12b603 --- /dev/null +++ b/data/EventData.js @@ -0,0 +1,23 @@ +import { Event } from "../models/Event.js"; + +const events = [ + { + name: "Christmas", + date: "2020-12-24", + category: "family", + }, + { + name: "Valentines Day", + date: "2021-02-14", + category: "friends", + }, + { + name: "Birthday", + date: "2021-03-14", + category: "family", + }, +]; + +export const EVENTS = events.map( + (event) => new Event(event.name, event.date, event.category) +); diff --git a/models/Event.js b/models/Event.js new file mode 100644 index 0000000..d91ad57 --- /dev/null +++ b/models/Event.js @@ -0,0 +1,12 @@ +import { v4 as generateUniqueKey } from "uuid"; + +export class Event { + constructor(name, date, category) { + this._key = generateUniqueKey(); + this._name = name; + this._date = date; + this._category = category; + this._giftList = []; + this._personList = []; + } +} diff --git a/screens/EventOverviewScreen.js b/screens/EventOverviewScreen.js new file mode 100644 index 0000000..d96554c --- /dev/null +++ b/screens/EventOverviewScreen.js @@ -0,0 +1,33 @@ +import { ScrollView, StyleSheet, View } from "react-native"; +import { StatusBar } from "expo-status-bar"; + +import { EVENTS } from "../data/EventData"; + +import Colors from "../constants/colors"; +import EventCard from "../components/EventCard"; +import FloatingButton from "../components/FloatingButton"; + +const eventsToDisplay = EVENTS.map((event, index) => { + return ; +}); + +const EventOverviewScreen = (props) => { + return ( + + {eventsToDisplay} + + + + ); +}; + +const styles = StyleSheet.create({ + container: { + flex: 1, + backgroundColor: Colors.primary500, + alignItem: "center", + justifyContent: "center", + }, +}); + +export default EventOverviewScreen;