blob: 829977edbb422870638b2ebca51a94be02c8412a [file] [log] [blame]
simond47ef9e2022-09-28 22:24:28 -04001import CircularProgress from '@mui/material/CircularProgress';
simon07b4eb02022-09-29 17:50:26 -04002import Container from '@mui/material/Container';
simon80b7b3b2022-09-28 17:50:10 -04003import { useEffect, useState } from 'react';
simon07b4eb02022-09-29 17:50:26 -04004
simond47ef9e2022-09-28 22:24:28 -04005import Account from '../../../model/Account';
simon07b4eb02022-09-29 17:50:26 -04006import authManager from '../AuthManager';
7import AccountPreferences from '../components/AccountPreferences';
8import Header from '../components/Header';
Adrien Béraud4e287b92021-04-24 16:15:56 -04009
10const ServerOverview = (props) => {
simon80b7b3b2022-09-28 17:50:10 -040011 const [loaded, setLoaded] = useState(false);
12 const [account, setAccount] = useState();
13 const accountId = props.accountId || props.match.params.accountId;
Adrien Béraud4e287b92021-04-24 16:15:56 -040014
Adrien Béraudab519ff2022-05-03 15:34:48 -040015 useEffect(() => {
simond47ef9e2022-09-28 22:24:28 -040016 const controller = new AbortController();
17 authManager
18 .fetch(`/api/serverConfig`, { signal: controller.signal })
19 .then((res) => res.json())
20 .then((result) => {
21 console.log(result);
simon80b7b3b2022-09-28 17:50:10 -040022 setLoaded(true);
23 setAccount(Account.from(result));
simond47ef9e2022-09-28 22:24:28 -040024 })
25 .catch((e) => console.log(e));
26 // return () => controller.abort() // crash on React18
27 }, [accountId]);
Adrien Béraudab519ff2022-05-03 15:34:48 -040028
Adrien Béraud4e287b92021-04-24 16:15:56 -040029 return (
simond47ef9e2022-09-28 22:24:28 -040030 <Container maxWidth="sm" className="app">
Adrien Béraud4e287b92021-04-24 16:15:56 -040031 <Header />
simon80b7b3b2022-09-28 17:50:10 -040032 {loaded ? <AccountPreferences account={account} /> : <CircularProgress />}
Adrien Béraud4e287b92021-04-24 16:15:56 -040033 </Container>
simond47ef9e2022-09-28 22:24:28 -040034 );
35};
Adrien Béraud4e287b92021-04-24 16:15:56 -040036
simond47ef9e2022-09-28 22:24:28 -040037export default ServerOverview;