diff options
| author | mo khan <mo@mokhan.ca> | 2016-12-31 14:47:26 -0700 |
|---|---|---|
| committer | mo khan <mo@mokhan.ca> | 2016-12-31 14:47:26 -0700 |
| commit | 9edb44f5556f5e5e8b8d8a7ed288a5941f833a84 (patch) | |
| tree | 3c1b5db775204376608c463a2f94b3910253dab5 | |
| parent | c8dd4fb3b6d7eff8a82dad3df91ad9a6a6351409 (diff) | |
load workout screen.
| -rw-r--r-- | app/screens/new-workout-screen.js | 9 | ||||
| -rw-r--r-- | app/screens/workout-screen.js | 25 | ||||
| -rw-r--r-- | app/services/commands/create-workout-command.js | 6 | ||||
| -rw-r--r-- | app/services/events.js | 1 |
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'; |
