Commit 3759d11

mo khan <mo@mokhan.ca>
2016-12-17 19:30:01
display reps for each exercise.
1 parent e174b31
Changed files (3)
app/components/exercise.js
@@ -1,13 +1,16 @@
 import React, { Component } from 'react';
-import { View, Text } from 'react-native';
+import { CardItem, Text } from 'native-base';
 
 export default class Exercise extends Component {
   render() {
-    return(
-      <View style={{flex: 1, flexDirection: 'row', justifyContent: 'center', width: 350}}>
-        <Text>{this.props.name}</Text>
-        <Text>{this.props.sets.map(set => set.actual_repetitions).join(",")}</Text>
-      </View>
+    return (
+      <CardItem>
+        <Text>{this.props.name} {this.actualReps()}</Text>
+      </CardItem>
     );
   }
+
+  actualReps(set) {
+    return this.props.sets.map((set) => set.actual_repetitions).filter((rep) => rep).join("/");
+  }
 }
app/components/workout.js
@@ -5,23 +5,23 @@ import moment from 'moment';
 
 export default class Workout extends Component {
   render() {
-    //{this.exercisesFrom(this.props.exercises)}
     return (
       <Card>
         <CardItem>
           <Text>
-            {this.rowText()}
+            {this.rowHeader()}
           </Text>
+          {this.exercisesFrom(this.props.exercises)}
         </CardItem>
       </Card>
     )
   }
 
   exercisesFrom(exercises) {
-    return exercises.map(exercise => <Exercise {...exercise} />)
+    return exercises.map(exercise => <Exercise key={exercise.id} {...exercise} />)
   }
 
-  rowText() {
+  rowHeader() {
     const date = moment(this.props.occurred_at).format('MMM Do YY');
     const text = `${this.props.routine_name} ${this.props.body_weight.amount} lbs ${date}`;
     console.log(text);
app/screens/dashboard-screen.js
@@ -13,6 +13,11 @@ export default class DashboardScreen extends ApplicationComponent {
     };
   }
 
+  componentDidMount() {
+    super.componentDidMount();
+    this.publish({event: 'FETCH_WORKOUTS'});
+  }
+
   render() {
     return (
       <Container>
@@ -24,9 +29,6 @@ export default class DashboardScreen extends ApplicationComponent {
         </Content>
         <Footer>
           <FooterTab>
-            <Button transparent onPress={this.onHistory.bind(this)}>
-              <Icon name='ios-call' />
-            </Button>
             <Button transparent onPress={this.onStartWorkout.bind(this)}>
               <Icon name='ios-call' />
             </Button>
@@ -39,10 +41,6 @@ export default class DashboardScreen extends ApplicationComponent {
     );
   }
 
-  onHistory() {
-    this.publish({event: 'FETCH_WORKOUTS'});
-  }
-
   notify(event) {
     switch(event.event) {
       case "FETCHED_WORKOUTS":