From 24a26bb6d2785b3e0390c80ef08a2e7bcc92f9dc Mon Sep 17 00:00:00 2001 From: omiceron Date: Fri, 15 Jun 2018 18:18:01 +0500 Subject: [PATCH 1/7] HT8: improper Camera --- MobileApp/package.json | 2 +- MobileApp/src/components/app-navigator.js | 4 ++++ 2 files changed, 5 insertions(+), 1 deletion(-) diff --git a/MobileApp/package.json b/MobileApp/package.json index cf64248..ba560c3 100644 --- a/MobileApp/package.json +++ b/MobileApp/package.json @@ -27,6 +27,6 @@ "react": "16.3.1", "react-native": "~0.55.2", "react-native-communications": "^2.2.1", - "react-navigation": "^2.2.5" + "react-navigation": "^2.3.1" } } diff --git a/MobileApp/src/components/app-navigator.js b/MobileApp/src/components/app-navigator.js index 976330b..5b2ca70 100644 --- a/MobileApp/src/components/app-navigator.js +++ b/MobileApp/src/components/app-navigator.js @@ -4,6 +4,7 @@ import EventList from './screens/event-list' import PeopleList from './screens/people-list' import EventScreen from './screens/event' import EventMapScreen from './screens/event-map' +import CameraScreen from "./screens/camera"; const ListsNavigator = createBottomTabNavigator({ events: { @@ -11,6 +12,9 @@ const ListsNavigator = createBottomTabNavigator({ }, people: { screen: PeopleList + }, + camera: { + screen: CameraScreen } }) From 9bac49aec57d6186b110e87e42a8a1867b7e1f8f Mon Sep 17 00:00:00 2001 From: omiceron Date: Fri, 15 Jun 2018 18:18:33 +0500 Subject: [PATCH 2/7] HT8: improper Camera --- MobileApp/src/components/screens/camera.js | 56 ++++++++++++++++++++++ 1 file changed, 56 insertions(+) create mode 100644 MobileApp/src/components/screens/camera.js diff --git a/MobileApp/src/components/screens/camera.js b/MobileApp/src/components/screens/camera.js new file mode 100644 index 0000000..c50aaf5 --- /dev/null +++ b/MobileApp/src/components/screens/camera.js @@ -0,0 +1,56 @@ +import React from 'react'; +import { Text, View, TouchableOpacity } from 'react-native'; +import { Camera, Permissions } from 'expo'; + +export default class CameraScreen extends React.Component { + state = { + hasCameraPermission: null, + type: Camera.Constants.Type.back, + }; + + async componentWillMount() { + const { status } = await Permissions.askAsync(Permissions.CAMERA); + this.setState({ hasCameraPermission: status === 'granted' }); + } + + render() { + const { hasCameraPermission } = this.state; + if (hasCameraPermission === null) { + return ; + } else if (hasCameraPermission === false) { + return No access to camera; + } else { + return ( + + + + { + this.setState({ + type: this.state.type === Camera.Constants.Type.back + ? Camera.Constants.Type.front + : Camera.Constants.Type.back, + }); + }}> + + {' '}Flip{' '} + + + + + + ); + } + } +} \ No newline at end of file From 02f9a6ac15014738bf9d40794628d7a0ed693ff8 Mon Sep 17 00:00:00 2001 From: omiceron Date: Sat, 16 Jun 2018 20:05:37 +0500 Subject: [PATCH 3/7] HT8: Camera in navigation, Person Screen and Make Photo button --- MobileApp/src/components/app-navigator.js | 53 +++++++------ .../src/components/people/people-list.js | 5 +- MobileApp/src/components/people/person.js | 76 +++++++++++++++++++ MobileApp/src/components/screens/camera.js | 57 +++++++++++--- .../src/components/screens/people-list.js | 6 +- MobileApp/src/components/screens/person.js | 25 ++++++ 6 files changed, 186 insertions(+), 36 deletions(-) create mode 100644 MobileApp/src/components/people/person.js create mode 100644 MobileApp/src/components/screens/person.js diff --git a/MobileApp/src/components/app-navigator.js b/MobileApp/src/components/app-navigator.js index 5b2ca70..8bc8e34 100644 --- a/MobileApp/src/components/app-navigator.js +++ b/MobileApp/src/components/app-navigator.js @@ -2,37 +2,44 @@ import {createStackNavigator, createBottomTabNavigator} from 'react-navigation' import AuthScreen from './screens/auth' import EventList from './screens/event-list' import PeopleList from './screens/people-list' +import PersonScreen from './screens/person' import EventScreen from './screens/event' import EventMapScreen from './screens/event-map' import CameraScreen from "./screens/camera"; const ListsNavigator = createBottomTabNavigator({ - events: { - screen: EventList - }, - people: { - screen: PeopleList - }, - camera: { - screen: CameraScreen - } + events: { + screen: EventList + }, + people: { + screen: PeopleList + }, +/* camera: { + screen: CameraScreen + }*/ }) export default createStackNavigator({ - auth: { - screen: AuthScreen, - navigationOptions: { - title: 'Auth' - } - }, - lists: { - screen: ListsNavigator, - navigationOptions: { - title: 'Lists' - } - }, - event: { - screen: EventMapScreen + auth: { + screen: AuthScreen, + navigationOptions: { + title: 'Auth' + } + }, + lists: { + screen: ListsNavigator, + navigationOptions: { + title: 'Lists' } + }, + event: { + screen: EventMapScreen + }, + person: { + screen: PersonScreen + }, + camera: { + screen: CameraScreen + } }) \ No newline at end of file diff --git a/MobileApp/src/components/people/people-list.js b/MobileApp/src/components/people/people-list.js index e90c07a..08da6e5 100644 --- a/MobileApp/src/components/people/people-list.js +++ b/MobileApp/src/components/people/people-list.js @@ -7,7 +7,7 @@ import PersonCard from './person-card' @observer class PeopleList extends Component { static defaultProps = { - onPersonPress: () => {} + onPersonPress: () => {} }; componentDidMount() { @@ -22,7 +22,8 @@ class PeopleList extends Component { return {section.title}} - renderItem = {({item}) => + renderItem = {({item}) => + onPersonPress(item.person)}> } /> diff --git a/MobileApp/src/components/people/person.js b/MobileApp/src/components/people/person.js new file mode 100644 index 0000000..d5d3f31 --- /dev/null +++ b/MobileApp/src/components/people/person.js @@ -0,0 +1,76 @@ +import React, { Component } from 'react' +import {View, Text, Image, StyleSheet, Button, TouchableOpacity} from 'react-native' +import ConfirmModal from '../common/confirm-modal' +import {web} from 'react-native-communications' +import {observer, inject} from 'mobx-react' + + +class Person extends Component { + static propTypes = { + + }; + + state = { + confirmModal: false + } + + render() { + const {makePhoto, person} = this.props + // console.log(this.props.navigation) + return ( + + {person.email} +