blob: 79ab38826a60d1b4c7d3f8491d79c51cae69f728 [file] [log] [blame]
Adrien Béraud150b4782021-04-21 19:40:59 -04001import React, {useEffect, useState} from 'react';
2import { useParams } from 'react-router';
3import { Container, CircularProgress } from '@material-ui/core';
Adrien Béraud6ecaa402021-04-06 17:37:25 -04004import Header from '../components/Header'
5import AccountPreferences from '../components/AccountPreferences'
Adrien Béraud6ecaa402021-04-06 17:37:25 -04006import authManager from '../AuthManager'
7import Account from '../../../model/Account'
8
Adrien Béraud150b4782021-04-21 19:40:59 -04009const AccountSettings = (props) => {
10 const accountId = props.accountId || useParams().accountId
11 const [state, setState] = useState({ loaded: false })
Adrien Béraud6ecaa402021-04-06 17:37:25 -040012
Adrien Béraud150b4782021-04-21 19:40:59 -040013 useEffect(() => {
14 const controller = new AbortController()
15 authManager.fetch(`/api/accounts/${accountId}`, {signal: controller.signal})
16 .then(res => res.json())
17 .then(result => {
18 console.log(result)
19 setState({loaded: true, account: Account.from(result)})
20 })
21 return () => controller.abort()
22 }, [])
Adrien Béraud6ecaa402021-04-06 17:37:25 -040023
Adrien Béraud150b4782021-04-21 19:40:59 -040024 return (
25 <Container maxWidth="sm">
26 <Header />
27 {state.loaded ? <AccountPreferences account={state.account} /> : <CircularProgress />}
28 </Container>
29 )
Adrien Béraud6ecaa402021-04-06 17:37:25 -040030}
31
32export default AccountSettings;