Skip to content
Snippets Groups Projects
app.js 1.37 KiB
Newer Older
import React, { Component } from 'react'
import { View } from 'react-native'
import Header from './components/header'
import Menu from './components/menu'
import Home from './components/home'
import Calendar from './components/calendar'
import CycleDay from './components/cycle-day/cycle-day-overview'
import SymptomView from './components/cycle-day/symptoms'
import Chart from './components/chart/chart'
import Settings from './components/settings'
// this is until react native fixes this bugg, see
// https://github.com/facebook/react-native/issues/18868#issuecomment-382671739
import { YellowBox } from 'react-native'
YellowBox.ignoreWarnings(['Warning: isMounted(...) is deprecated'])

export default class App extends Component {
  constructor(props) {
    super(props)
    this.state = {
      currentPage: 'Home'
    }
  }
  navigate(pageName) {
    this.setState({currentPage: pageName})
  }
  render() {
    return (
      <View>
        <Header title={this.state.currentPage}/>
        <CurrentPage page={this.state.currentPage} />
        <Menu navigate={this.navigate.bind(this)}/>
      </View>
    )
class CurrentPage extends Component {
  render () {
    console.log('urrentpage render')
    const page = {
      Home, Calendar, CycleDay, SymptomView, Chart, Settings, Stats
    }[this.props.page]
    return React.createElement(page)
  }
}