// MARK: Definitions import React, { useState, useEffect } from 'react' import axios from 'axios' import history from '../history.js' // import config from '../config.json' import './Member.scss' export default function Member({ props }) { // MARK: State let [user, setUser] = useState(null) let [teamNames, setTeamNames] = useState([]) // MARK: Effects // MARK: - Load user info from Tempo backend on initialization useEffect(() => { let fetchData = async () => { try { let result = await axios.get(props.url) if (result.data) { setUser(result.data) result.data.member_teams.map(teamId => { let arr = props.teams.filter(el => el.id === teamId) setTeamNames(t => [...t, arr[0].name]) return null }) } } catch (err) { history.push('/') } } fetchData() }, [props]) // MARK: Helpers let navBack = () => { history.push('/team') } // MARK: Return return (
{user === null ? (
Loading...
) : ( user !== undefined && (

Member {user.name}

Username:

{user.username}

Member of:

) )}
) }