Ready to create account settings route

This commit is contained in:
Pierre HUBERT 2021-05-13 09:27:12 +02:00
parent 71fc9dce44
commit e820c28648
4 changed files with 71 additions and 16 deletions

View File

@ -65,6 +65,17 @@ export class AccountHelper {
sessionStorage.setItem(SESSION_STORAGE_TOKEN, res.token); sessionStorage.setItem(SESSION_STORAGE_TOKEN, res.token);
} }
/**
* Get information about an administrator
*
* @param id The ID of the target administrator
*/
static async getAdminInfo(id: number): Promise<AdminAccount> {
return await serverRequest("accounts/info", {
id: id,
});
}
/** /**
* Attempt to refresh current account information * Attempt to refresh current account information
*/ */

View File

@ -0,0 +1,35 @@
/**
* Account settings route
*
* @author Pierre Hubert
*/
import React from "react";
import { useParams } from "react-router-dom";
export function AccountSettingsRoute() {
let params: any = useParams();
return <AccountSettingsRouteInner id={Number(params.id)} />;
}
interface SettingsRouteProps {
id: number;
}
interface SettingsRouteState {}
class AccountSettingsRouteInner extends React.Component<
SettingsRouteProps,
SettingsRouteState
> {
constructor(props: any) {
super(props);
this.state = {};
}
render() {
return <div>"hello {this.props.id}</div>;
}
}

View File

@ -1,3 +1,3 @@
export function HomeRoute() { export function HomeRoute() {
return <p style={{ color: "white" }}>Welcome to Comunic Console!</p>; return <p style={{ color: "white" }}>Welcome to the Comunic Console!</p>;
} }

View File

@ -6,8 +6,6 @@
import { import {
AppBar, AppBar,
Badge,
Divider,
IconButton, IconButton,
List, List,
ListItem, ListItem,
@ -18,16 +16,19 @@ import {
Toolbar, Toolbar,
Typography, Typography,
} from "@material-ui/core"; } from "@material-ui/core";
import DraftsIcon from "@material-ui/icons/Drafts";
import InboxIcon from "@material-ui/icons/Inbox";
import NotificationsIcon from "@material-ui/icons/Notifications";
import React from "react";
import { BrowserRouter as Router, Route, Switch } from "react-router-dom";
import { AccountHelper } from "../../helpers/AccountHelper";
import CloseSharpIcon from "@material-ui/icons/CloseSharp";
import { NotFoundRoute } from "./NotFoundRoute";
import { HomeRoute } from "./HomeRoute";
import { Home, Person } from "@material-ui/icons"; import { Home, Person } from "@material-ui/icons";
import CloseSharpIcon from "@material-ui/icons/CloseSharp";
import React from "react";
import {
BrowserRouter as Router,
Route,
Switch,
useHistory,
} from "react-router-dom";
import { AccountHelper } from "../../helpers/AccountHelper";
import { AccountSettingsRoute } from "./AccountSettingsRoute";
import { HomeRoute } from "./HomeRoute";
import { NotFoundRoute } from "./NotFoundRoute";
const useStyles = makeStyles((theme) => ({ const useStyles = makeStyles((theme) => ({
root: { root: {
@ -79,18 +80,22 @@ const useStyles = makeStyles((theme) => ({
})); }));
function Menu() { function Menu() {
const classes = useStyles(); const history = useHistory();
const openHome = () => history.push("/");
const openMyAccount = () =>
history.push("/accounts/" + AccountHelper.currentAccount.id);
return ( return (
<div> <div>
<List component="nav" aria-label="main mailbox folders"> <List component="nav" aria-label="main mailbox folders">
<ListItem button> <ListItem button onClick={openHome}>
<ListItemIcon> <ListItemIcon>
<Home /> <Home />
</ListItemIcon> </ListItemIcon>
<ListItemText primary="Home" /> <ListItemText primary="Home" />
</ListItem> </ListItem>
<ListItem button> <ListItem button onClick={openMyAccount}>
<ListItemIcon> <ListItemIcon>
<Person /> <Person />
</ListItemIcon> </ListItemIcon>
@ -123,7 +128,7 @@ export function MainRoute() {
noWrap noWrap
className={classes.title} className={classes.title}
> >
Comunic Admin Comunic Console
</Typography> </Typography>
<Typography> <Typography>
@ -156,6 +161,10 @@ export function MainRoute() {
<HomeRoute></HomeRoute> <HomeRoute></HomeRoute>
</Route> </Route>
<Route path="/accounts/:id">
<AccountSettingsRoute></AccountSettingsRoute>
</Route>
<Route path="*"> <Route path="*">
<NotFoundRoute></NotFoundRoute> <NotFoundRoute></NotFoundRoute>
</Route> </Route>