// Copyright (c) 2016 Mattermost, Inc. All Rights Reserved. // See License.txt for license information. import React, {PropTypes, PureComponent} from 'react'; import { Image, InteractionManager, ScrollView, Text, TouchableOpacity, View } from 'react-native'; import Button from 'react-native-button'; import Icon from 'react-native-vector-icons/MaterialIcons'; import {GlobalStyles} from 'app/styles'; import FormattedText from 'app/components/formatted_text'; import logo from 'assets/images/logo.png'; export default class SelectTeam extends PureComponent { static propTypes = { config: PropTypes.object.isRequired, teams: PropTypes.array.isRequired, subscribeToHeaderEvent: PropTypes.func.isRequired, unsubscribeFromHeaderEvent: PropTypes.func.isRequired, actions: PropTypes.shape({ closeDrawers: PropTypes.func.isRequired, closeModal: PropTypes.func.isRequired, goBack: PropTypes.func.isRequired, handleTeamChange: PropTypes.func.isRequired }).isRequired }; static navigationProps = { renderLeftComponent: (props, emitter, theme) => { return ( emitter('close')} > ); } }; componentWillMount() { this.props.subscribeToHeaderEvent('close', this.props.actions.goBack); } componentWillUnmount() { this.props.unsubscribeFromHeaderEvent('close'); } onSelectTeam = async (team) => { const { closeDrawers, closeModal, handleTeamChange } = this.props.actions; handleTeamChange(team); closeDrawers(); InteractionManager.runAfterInteractions(closeModal); }; render() { const content = this.props.teams.map((team) => { return ( ); }); return ( {this.props.config.SiteName} {content} ); } }