blob: 5c801310e9eeb690ab130adf5a204e9d2a4baaa0 [file] [log] [blame]
Adrien Béraud4e287b92021-04-24 16:15:56 -04001import Header from '../components/Header'
2import AccountPreferences from '../components/AccountPreferences'
Adrien Béraudab519ff2022-05-03 15:34:48 -04003import Container from '@mui/material/Container'
4import CircularProgress from '@mui/material/CircularProgress'
Adrien Béraud4e287b92021-04-24 16:15:56 -04005import authManager from '../AuthManager'
6import Account from '../../../model/Account'
7
8const ServerOverview = (props) => {
9
Adrien Béraudab519ff2022-05-03 15:34:48 -040010 this.accountId = props.accountId || props.match.params.accountId
Adrien Béraud4e287b92021-04-24 16:15:56 -040011
Adrien Béraudab519ff2022-05-03 15:34:48 -040012 useEffect(() => {
13 const controller = new AbortController()
14 authManager.fetch(`/api/serverConfig`, {signal: controller.signal})
15 .then(res => res.json())
16 .then(result => {
17 console.log(result)
18 setState({loaded: true, account: Account.from(result)})
19 }).catch(e => console.log(e))
idillon28996962022-09-06 17:49:41 -040020 // return () => controller.abort() // crash on React18
Adrien Béraudab519ff2022-05-03 15:34:48 -040021 }, [accountId])
22
Adrien Béraud4e287b92021-04-24 16:15:56 -040023 return (
24 <Container maxWidth="sm" className="app" >
25 <Header />
26 {this.state.loaded ? <AccountPreferences account={this.state.account} /> : <CircularProgress />}
27 </Container>
28 )
29}
30
Adrien Béraudab519ff2022-05-03 15:34:48 -040031export default ServerOverview