render()

in js/tabs/schedule/GeneralScheduleView.js [105:167]


  render() {
    let sessions = [...this.props.sessions];
    if (this.state.hideCompleted && this.state.sessionsHappeningToday) {
      sessions = [...this.state.incompleteSessions];
    }

    const content = (
      <ListContainer
        title="Schedule"
        selectedSegment={this.props.day - 1}
        onSegmentChange={this.switchDay}
        stickyHeader={this.renderStickyHeader()}
        leftItem={{
          title: "Map",
          layout: "icon",
          icon: require("../../common/img/header/map.png"),
          onPress: _ =>
            this.props.navigator && this.props.navigator.push({ maps: true })
        }}
        rightItem={{
          icon: require("../../common/img/header/filter.png"),
          title: "Filter",
          onPress: this.openFilterScreen
        }}
      >
        <ScheduleListView
          title="Day 1"
          day={1}
          sessions={sessions}
          renderEmptyList={this.renderEmptyList}
          renderHeader={_ => this.renderGanttChart(1, sessions)}
          renderFooter={_ => <F8TimelineBackground height={80} />}
          navigator={this.props.navigator}
        />
        <ScheduleListView
          title="Day 2"
          day={2}
          sessions={sessions}
          renderEmptyList={this.renderEmptyList}
          renderHeader={_ => this.renderGanttChart(2, sessions)}
          renderFooter={_ => <F8TimelineBackground height={80} />}
          navigator={this.props.navigator}
        />
      </ListContainer>
    );

    if (Platform.OS === "ios") {
      return content;
    } else {
      return (
        <View style={{ flex: 1 }}>
          {content}
          <FilterScreen
            visible={this.state.filterModal}
            topics={this.props.topics}
            selectedTopics={this.props.filter}
            onClose={_ => this.setState({ filterModal: false })}
            onApply={selected => this.props.filterTopics(selected)}
          />
        </View>
      );
    }
  }