From b79e65ea0bb7bc1f6f3974004069a01588a7928d Mon Sep 17 00:00:00 2001 From: dblock Date: Mon, 9 Jul 2018 14:48:51 -0400 Subject: [PATCH] Create meeting. --- app/mutations/CreateMeetingMutation.js | 28 ++++++++++++++++++++++++++ app/screens/Record.js | 26 +++++++++++++++--------- 2 files changed, 45 insertions(+), 9 deletions(-) create mode 100644 app/mutations/CreateMeetingMutation.js diff --git a/app/mutations/CreateMeetingMutation.js b/app/mutations/CreateMeetingMutation.js new file mode 100644 index 0000000..5a7531b --- /dev/null +++ b/app/mutations/CreateMeetingMutation.js @@ -0,0 +1,28 @@ +import { graphql } from 'react-relay' +import commitMutation from 'relay-commit-mutation-promise' + +const mutation = graphql` + mutation CreateMeetingMutation($input: createMeetingInput!) { + createMeeting(input: $input) { + meeting { + id + title + started + finished + } + } + } +` + +function commit({ environment, input }) { + const variables = { input } + + return commitMutation(environment, { + mutation, + variables + }) +} + +export default { + commit +} \ No newline at end of file diff --git a/app/screens/Record.js b/app/screens/Record.js index 7064992..1a6d84b 100644 --- a/app/screens/Record.js +++ b/app/screens/Record.js @@ -4,18 +4,21 @@ import { StyleSheet, View, Text, SafeAreaView, Button, ScrollView } from 'react- import HideableView from 'react-native-hideable-view'; import Icon from 'react-native-vector-icons/Ionicons'; -import TimerMachine from 'react-timer-machine' +import TimerMachine from 'react-timer-machine'; import moment from "moment"; import momentDurationFormatSetup from "moment-duration-format"; momentDurationFormatSetup(moment); +import CreateMeetingMutation from '../mutations/CreateMeetingMutation'; +import environment from '../Environment' + export default class Record extends React.Component { constructor(props) { super(props) this.state = { isMeetingStarted: false, meetingStartedAt: null - } + } } startMeeting() { @@ -24,13 +27,18 @@ export default class Record extends React.Component { stopMeeting() { this.setState({ isMeetingStarted: false, meetingStartedAt: null }) - - const meeting = { - startDateTime: this.state.meetingStartedAt, - endDateTime: new Date() - } - - this.props.navigation.navigate('Main') + CreateMeetingMutation.commit({ + environment, + input: { + title: 'Untitled Meeting', + started: this.state.meetingStartedAt, + finished: new Date() + } + }).then(response => { + this.props.navigation.navigate('Main') + }).catch(error => { + alert(error.message); + }); } toggleMeeting() {