/** * EventInfoViewController * * Yeah, I do it iOS style. Handles displaying tournament event data. * * @copyright Ryan McGrath 2018. */ import moment from 'moment'; import React from 'react'; import {ScrollView, Image, Text, View, TouchableOpacity} from 'react-native'; import Markdown from 'react-native-simple-markdown' //import SmashGG from '../store'; import MemeleeViewController from './MemeleeViewController'; export default class EventInfoViewController extends MemeleeViewController { state = { standings: [], brackets: [] }; componentWillMount() { const evtSlugs = this.props.evt.slug.split('/'); const evtSlug = evtSlugs.length > 0 ? evtSlugs[evtSlugs.length - 1] : null; const tournamentSlug = this.props.tournament.slugs[0].replace('tournament/', ''); if((evtSlug && evtSlug !== '') && (tournamentSlug && tournamentSlug != '')) { SmashGG.fetchEventExpanded(tournamentSlug, evtSlug).then(this.updateBracketsData).catch(console.error); SmashGG.fetchEventStandings(tournamentSlug, evtSlug).then(this.updateStandingsData).catch(console.error); } } updateBracketsData = (data) => { this.setState({brackets: data}); } updateStandingsData = (data) => { this.setState({standings: data}); } onBracketPress = (bracket) => { this.props.navigator.push({ screen: 'memelee.bracket', title: bracket.name, backButtonTitle: 'Back', passProps: { tournament: this.props.tournament, evt: this.props.evt, bracket: bracket }, navigatorStyle: {tabBarHidden: true} }); } render() { return ( Brackets {this.state.brackets.map(bracket => ( this.onBracketPress(bracket)}> {bracket.name} ))} Standings Players Losses {this.state.standings.map(standing => ( {standing.finalPlacement} {standing.name} {standing.losses.map(loss => {loss})} ))} ); } }