From 8482b649e13a9f470801d3c0a87672099da86a4e Mon Sep 17 00:00:00 2001 From: crupest Date: Fri, 20 Nov 2020 20:33:01 +0800 Subject: ... --- FrontEnd/src/app/views/admin/Admin.tsx | 4 ++++ FrontEnd/src/app/views/admin/AdminNav.tsx | 7 +++++-- FrontEnd/src/app/views/admin/UserAdmin.tsx | 25 ++++++++++++++++++------- 3 files changed, 27 insertions(+), 9 deletions(-) (limited to 'FrontEnd/src/app/views/admin') diff --git a/FrontEnd/src/app/views/admin/Admin.tsx b/FrontEnd/src/app/views/admin/Admin.tsx index ac640700..94e97713 100644 --- a/FrontEnd/src/app/views/admin/Admin.tsx +++ b/FrontEnd/src/app/views/admin/Admin.tsx @@ -4,10 +4,14 @@ import { Container } from "react-bootstrap"; import { AuthUser } from "@/services/user"; +import i18n from "@/i18n"; + import AdminNav from "./AdminNav"; import UserAdmin from "./UserAdmin"; import HighlightTimelineAdmin from "./HighlightTimelineAdmin"; +void i18n.loadNamespaces("admin"); + interface AdminProps { user: AuthUser; } diff --git a/FrontEnd/src/app/views/admin/AdminNav.tsx b/FrontEnd/src/app/views/admin/AdminNav.tsx index 040b479f..f376beda 100644 --- a/FrontEnd/src/app/views/admin/AdminNav.tsx +++ b/FrontEnd/src/app/views/admin/AdminNav.tsx @@ -1,11 +1,14 @@ import React from "react"; import { Nav } from "react-bootstrap"; +import { useTranslation } from "react-i18next"; import { useHistory, useRouteMatch } from "react-router"; const AdminNav: React.FC = () => { const match = useRouteMatch<{ name: string }>(); const history = useHistory(); + const { t } = useTranslation(); + const name = match.params.name; function toggle(newTab: string): void { @@ -21,7 +24,7 @@ const AdminNav: React.FC = () => { toggle("users"); }} > - Users + {t("admin:nav.users")} @@ -31,7 +34,7 @@ const AdminNav: React.FC = () => { toggle("highlighttimelines"); }} > - Highlight Timelines + {t("admin:nav.highlightTimelines")} diff --git a/FrontEnd/src/app/views/admin/UserAdmin.tsx b/FrontEnd/src/app/views/admin/UserAdmin.tsx index bd60381f..8fd9b351 100644 --- a/FrontEnd/src/app/views/admin/UserAdmin.tsx +++ b/FrontEnd/src/app/views/admin/UserAdmin.tsx @@ -15,6 +15,7 @@ import { kUserPermissionList, UserPermission, } from "@/http/user"; +import { useTranslation } from "react-i18next"; interface DialogProps { open: boolean; @@ -204,6 +205,8 @@ interface UserItemProps { } const UserItem: React.FC = ({ user, on }) => { + const { t } = useTranslation(); + const [editMaskVisible, setEditMaskVisible] = React.useState(false); return ( @@ -214,10 +217,16 @@ const UserItem: React.FC = ({ user, on }) => { onClick={() => setEditMaskVisible(true)} />

{user.username}

-
nickname: {user.nickname}
-
unique id: {user.uniqueId}
- permissions:{" "} + {t("admin:user.nickname")} + {user.nickname} +
+
+ {t("admin:user.uniqueId")} + {user.uniqueId} +
+
+ {t("admin:user.permissions")} {user.permissions.map((permission) => { return ( @@ -231,13 +240,13 @@ const UserItem: React.FC = ({ user, on }) => { onClick={() => setEditMaskVisible(false)} >
@@ -249,6 +258,8 @@ interface UserAdminProps { } const UserAdmin: React.FC = (props) => { + const { t } = useTranslation(); + type DialogInfo = | null | { @@ -384,7 +395,7 @@ const UserAdmin: React.FC = (props) => { }) } > - Create + {t("admin:create")} -- cgit v1.2.3