summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authormo khan <mo@mokhan.ca>2016-12-31 14:47:26 -0700
committermo khan <mo@mokhan.ca>2016-12-31 14:47:26 -0700
commit9edb44f5556f5e5e8b8d8a7ed288a5941f833a84 (patch)
tree3c1b5db775204376608c463a2f94b3910253dab5
parentc8dd4fb3b6d7eff8a82dad3df91ad9a6a6351409 (diff)
load workout screen.
-rw-r--r--app/screens/new-workout-screen.js9
-rw-r--r--app/screens/workout-screen.js25
-rw-r--r--app/services/commands/create-workout-command.js6
-rw-r--r--app/services/events.js1
4 files changed, 38 insertions, 3 deletions
diff --git a/app/screens/new-workout-screen.js b/app/screens/new-workout-screen.js
index 62163b4..b1ce831 100644
--- a/app/screens/new-workout-screen.js
+++ b/app/screens/new-workout-screen.js
@@ -2,6 +2,7 @@ import React, { Component } from 'react';
import { View } from 'react-native';
import { Container, Header, Title, Content, Footer, FooterTab, Button, Icon, Spinner, DeckSwiper, Text, List, ListItem } from 'native-base';
import Screen from './screen';
+import WorkoutScreen from './workout-screen';
import * as events from '../services/events';
export default class NewWorkoutScreen extends Screen {
@@ -9,7 +10,7 @@ export default class NewWorkoutScreen extends Screen {
super(props);
this.state = {
isLoading: true,
- eventsOfInterest: [ events.FETCHED_NEW_WORKOUT ]
+ eventsOfInterest: [ events.FETCHED_NEW_WORKOUT, events.CREATED_WORKOUT ]
};
}
@@ -28,6 +29,10 @@ export default class NewWorkoutScreen extends Screen {
<Title>Routine {this.state.routine.name}</Title>
</Header>
<Content>
+ <Button large block iconRight onPress={this.onBeginWorkout.bind(this)}>
+ Begin
+ <Icon name='ios-arrow-forward' />
+ </Button>
<Text>Body Weight: {this.state.body_weight.amount} {this.state.body_weight.unit}</Text>
<List dataArray={this.state.exercises} renderRow={this.renderExercise.bind(this)}></List>
<Button large block iconRight onPress={this.onBeginWorkout.bind(this)}>
@@ -92,6 +97,8 @@ export default class NewWorkoutScreen extends Screen {
switch(event.event) {
case events.FETCHED_NEW_WORKOUT:
this.setState({ isLoading: false, ...event });
+ case events.CREATED_WORKOUT:
+ this.loadScreen(WorkoutScreen, { ...event })
}
}
}
diff --git a/app/screens/workout-screen.js b/app/screens/workout-screen.js
new file mode 100644
index 0000000..d15f019
--- /dev/null
+++ b/app/screens/workout-screen.js
@@ -0,0 +1,25 @@
+import * as events from '../services/events';
+import React, { Component } from 'react';
+import Screen from './screen';
+import { Container, Header, Title, Content, Footer, FooterTab, Button, Icon, Spinner, DeckSwiper, Text, List, ListItem } from 'native-base';
+
+export default class WorkoutScreen extends Screen {
+ render() {
+ return (
+ <Container>
+ <Header>
+ <Title>Routine {this.props.routine.name}</Title>
+ </Header>
+ <Content>
+ <List dataArray={this.props.sets} renderRow={this.renderSet.bind(this)}></List>
+ </Content>
+ </Container>
+ );
+ }
+
+ renderSet(set) {
+ return (
+ <Text>hello</Text>
+ );
+ }
+}
diff --git a/app/services/commands/create-workout-command.js b/app/services/commands/create-workout-command.js
index 7ade156..556a71f 100644
--- a/app/services/commands/create-workout-command.js
+++ b/app/services/commands/create-workout-command.js
@@ -22,7 +22,9 @@ export default class CreateWorkoutCommand {
}
onResponse(json) {
- console.log("CREATED");
- console.log(json);
+ this.eventAggregator.publish({
+ event: events.CREATED_WORKOUT,
+ ...json
+ });
}
}
diff --git a/app/services/events.js b/app/services/events.js
index 7bd2a60..2c0fcc6 100644
--- a/app/services/events.js
+++ b/app/services/events.js
@@ -6,3 +6,4 @@ export const FETCHED_WORKOUTS = 'FETCHED_WORKOUTS';
export const FETCH_NEW_WORKOUT = 'FETCH_NEW_WORKOUT';
export const FETCHED_NEW_WORKOUT = 'FETCHED_NEW_WORKOUT';
export const CREATE_WORKOUT = 'CREATE_WORKOUT';
+export const CREATED_WORKOUT = 'CREATED_WORKOUT';