/** * Account settings route * * @author Pierre Hubert */ import { Grid } from "@mui/material"; import React from "react"; import { useParams } from "react-router-dom"; import { AccountHelper, AdminAccount } from "../../helpers/AccountHelper"; import { adminID, canManageAdmins } from "../../utils/AccountUtils"; import { GeneralSettings } from "../accountSettings/GeneralSettings"; import { KeySettingsSection } from "../accountSettings/KeySettingsSection"; import { RoleSettingsSection } from "../accountSettings/RoleSettingsSection"; import { AsyncWidget } from "../widgets/AsyncWidget"; import { PageTitle } from "../widgets/PageTitle"; export function AccountSettingsRoute() { let params: any = useParams(); return ; } interface SettingsRouteProps { id: number; } interface SettingsRouteState { account: AdminAccount; version: number; } class AccountSettingsRouteInner extends React.Component< SettingsRouteProps, SettingsRouteState > { constructor(props: any) { super(props); this.load = this.load.bind(this); this.build = this.build.bind(this); this.state = { account: {} as AdminAccount, version: 1, }; this.reload = this.reload.bind(this); } reload() { this.setState({ version: this.state.version + 1 }); } async load() { const account = await AccountHelper.getAdminInfo(this.props.id); this.setState({ account: account }); } render() { return ( ); } build() { return (
{this.props.id === adminID() || canManageAdmins() ? ( ) : (
)}
); } }