import React, { useState, useEffect } from 'react'; import { BrowserRouter as Router, Switch, Route, Link, useParams } from 'react-router-dom'; import './light.css'; import { Container, Divider, Dropdown, Form, Grid, Header, Icon, Image, Menu, Message, Segment, Table } from 'semantic-ui-react'; import { requester } from './utils.js'; import { Home } from './Home.js'; import { Account } from './Account.js'; import { Transactions, TransactionDetail } from './Transactions.js'; import { Cards } from './Cards.js'; import { Training } from './Training.js'; import { Courses, CourseDetail } from './Courses.js'; import { Classes, ClassDetail } from './Classes.js'; import { Members, MemberDetail } from './Members.js'; import { NotFound, PleaseLogin } from './Misc.js'; import { Footer } from './Footer.js'; function App() { const [token, setToken] = useState(localStorage.getItem('token', '')); const [user, setUser] = useState(JSON.parse(localStorage.getItem('user', 'false'))); function setTokenCache(x) { setToken(x); localStorage.setItem('token', x); } function setUserCache(x) { setUser(x); localStorage.setItem('user', JSON.stringify(x)); } useEffect(() => { requester('/user/', 'GET', token) .then(res => { setUserCache(res); }) .catch(err => { console.log(err); setUser(false); }); }, [token]); function logout() { setTokenCache(''); setUserCache(false); } return (
{user && }
{user && user.member.set_details ? : }