From 2e53fe3d8500c65ba0f7300e2021a9623fceee03 Mon Sep 17 00:00:00 2001 From: Denis Date: Mon, 11 Jun 2018 00:52:19 +0300 Subject: [PATCH 1/4] fix card shadow in Android --- MobileApp/src/components/common/card.js | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-) diff --git a/MobileApp/src/components/common/card.js b/MobileApp/src/components/common/card.js index f86a8b8..1a0a4cc 100644 --- a/MobileApp/src/components/common/card.js +++ b/MobileApp/src/components/common/card.js @@ -25,7 +25,8 @@ const styles = StyleSheet.create({ shadowOffset: { width: 2, height: 2 }, - shadowOpacity: 0.5 + shadowOpacity: 0.5, + elevation: 5 } }) From d9703631574b4370ea37eaf2288574c0e67a0421 Mon Sep 17 00:00:00 2001 From: Denis Date: Mon, 11 Jun 2018 00:52:31 +0300 Subject: [PATCH 2/4] add SectionList to event-list --- MobileApp/src/components/event-list.js | 31 +++++++++++++++++++++----- 1 file changed, 25 insertions(+), 6 deletions(-) diff --git a/MobileApp/src/components/event-list.js b/MobileApp/src/components/event-list.js index 7156d55..4b31382 100644 --- a/MobileApp/src/components/event-list.js +++ b/MobileApp/src/components/event-list.js @@ -1,5 +1,5 @@ import React, { Component } from 'react' -import {ScrollView, StyleSheet, Text} from 'react-native' +import {SectionList, StyleSheet, Text} from 'react-native' import Card from './common/card' class EventList extends Component { @@ -8,14 +8,33 @@ class EventList extends Component { }; render() { + const eventsGroupedByFirstLetter = this.props.events.reduce( + (acc, event) => { + const firstLetter = event.title.charAt(0).toUpperCase() + return { + ...acc, + [firstLetter]: [...(acc[firstLetter] || []), event] + } + }, + {} + ) + const sections = Object.entries(eventsGroupedByFirstLetter).map( + ([title, data]) => ({ title, data }) + ) + return ( - - {this.props.events.map(event => - - {event.title} + ( + + {item.title} )} - + renderSectionHeader={({ section: { title } }) => ( + {title} + )} + sections={sections} + keyExtractor={(item, index) => item.uid + index} + /> ) } } From 07b3e298a1c42ae5c27ac802e286d0f5f3095aad Mon Sep 17 00:00:00 2001 From: Denis Date: Mon, 11 Jun 2018 00:52:45 +0300 Subject: [PATCH 3/4] add event with confirmation-modal --- .../components/common/confirmation-modal.js | 27 +++++++++++++ MobileApp/src/components/event.js | 39 +++++++++++++++++++ 2 files changed, 66 insertions(+) create mode 100644 MobileApp/src/components/common/confirmation-modal.js create mode 100644 MobileApp/src/components/event.js diff --git a/MobileApp/src/components/common/confirmation-modal.js b/MobileApp/src/components/common/confirmation-modal.js new file mode 100644 index 0000000..79b8584 --- /dev/null +++ b/MobileApp/src/components/common/confirmation-modal.js @@ -0,0 +1,27 @@ +import React, { Component } from 'react' +import { Modal, View, Text, Button, StyleSheet } from 'react-native' + +class ConfirmationModal extends Component { + render() { + const {visible, children, onConfirm, onCancel} = this.props + return ( + + + {children} +