added AdminRoute.tsx

This commit is contained in:
Myzel394 2023-02-04 21:59:03 +01:00
parent 90dd7ca180
commit 6a1629114c
3 changed files with 21 additions and 5 deletions

View File

@ -312,10 +312,13 @@
}, },
"AdminRoute": { "AdminRoute": {
"title": "Site configuration", "title": "Site configuration",
"routes": {
"reservedAliases": "Reserved Aliases"
},
"forms": { "forms": {
"reservedAliases": { "reservedAliases": {
"title": "Reserved Aliases", "title": "Reserved Aliases",
"description": "Define which aliases will be reserved for your domain.", "description": "Define what alias should forward to whom.",
"saveAction": "Create Alias", "saveAction": "Create Alias",
"fields": { "fields": {
"local": { "local": {

View File

@ -8,6 +8,7 @@ import {CssBaseline, ThemeProvider} from "@mui/material"
import {queryClient} from "~/constants/react-query" import {queryClient} from "~/constants/react-query"
import {getServerSettings} from "~/apis" import {getServerSettings} from "~/apis"
import {lightTheme} from "~/constants/themes" import {lightTheme} from "~/constants/themes"
import AdminRoute from "~/routes/AdminRoute"
import AliasDetailRoute from "~/routes/AliasDetailRoute" import AliasDetailRoute from "~/routes/AliasDetailRoute"
import AliasesRoute from "~/routes/AliasesRoute" import AliasesRoute from "~/routes/AliasesRoute"
import AuthenticateRoute from "~/routes/AuthenticateRoute" import AuthenticateRoute from "~/routes/AuthenticateRoute"
@ -101,6 +102,10 @@ const router = createBrowserRouter([
loader: getServerSettings, loader: getServerSettings,
element: <EnterDecryptionPassword />, element: <EnterDecryptionPassword />,
}, },
{
path: "/admin",
element: <AdminRoute />,
},
{ {
path: "/admin/reserved-aliases", path: "/admin/reserved-aliases",
element: <ReservedAliasesRoute />, element: <ReservedAliasesRoute />,

View File

@ -1,10 +1,12 @@
import {ReactElement, useLayoutEffect} from "react" import {ReactElement, useLayoutEffect} from "react"
import {useTranslation} from "react-i18next" import {useTranslation} from "react-i18next"
import {BsStarFill} from "react-icons/bs"
import {Link} from "react-router-dom"
import {List, ListItemButton, ListItemIcon, ListItemText} from "@mui/material"
import {SimplePageBuilder} from "~/components" import {SimplePageBuilder} from "~/components"
import {useNavigateToNext, useUser} from "~/hooks" import {useNavigateToNext, useUser} from "~/hooks"
import ReservedAliasesForm from "~/route-widgets/AdminPage/ReservedAliasesForm"
import ReservedAliasesList from "~/route-widgets/AdminPage/ReservedAliasesList"
export default function AdminRoute(): ReactElement { export default function AdminRoute(): ReactElement {
const {t} = useTranslation() const {t} = useTranslation()
@ -19,8 +21,14 @@ export default function AdminRoute(): ReactElement {
return ( return (
<SimplePageBuilder.Page title={t("routes.AdminRoute.title")}> <SimplePageBuilder.Page title={t("routes.AdminRoute.title")}>
<ReservedAliasesList /> <List>
<ReservedAliasesForm /> <ListItemButton component={Link} to="/admin/reserved-aliases">
<ListItemIcon>
<BsStarFill />
</ListItemIcon>
<ListItemText primary={t("routes.AdminRoute.routes.reservedAliases")} />
</ListItemButton>
</List>
</SimplePageBuilder.Page> </SimplePageBuilder.Page>
) )
} }