2023-12-22 21:53:13 +03:00

45 lines
1.4 KiB
TypeScript

import React, { FC, useContext } from 'react';
import { Navigate, Routes, Route } from 'react-router-dom';
import { Tab } from '@mui/material';
import { RequireAdmin, RouterTabs, useLayoutTitle, useRouterTab } from '../../components';
import { AuthenticatedContext } from '../../contexts/authentication';
import IntercomStatusForm from './IntercomStatusForm';
import IntercomJournalForm from './IntercomJournalForm';
import IntercomSettingsForm from './IntercomSettingsForm';
const Intercom: FC = () => {
useLayoutTitle("Access Point");
const authenticatedContext = useContext(AuthenticatedContext);
const { routerTab } = useRouterTab();
return (
<>
<RouterTabs value={routerTab}>
<Tab value="status" label="Intercom Status" />
<Tab value="journal" label="Intercom Journal" />
<Tab value="settings" label="Intercom Settings" disabled={!authenticatedContext.me.admin} />
</RouterTabs>
<Routes>
<Route path="status" element={<IntercomStatusForm />} />
<Route path="journal" element={<IntercomJournalForm />} />
<Route
path="settings"
element={
<RequireAdmin>
<IntercomSettingsForm />
</RequireAdmin>
}
/>
<Route path="/*" element={<Navigate replace to="status" />} />
</Routes>
</>
);
};
export default Intercom;