From 22e8f24e7f7574915e4c75d3c6a5498f6e621ee8 Mon Sep 17 00:00:00 2001 From: crupest Date: Sat, 29 Jul 2023 22:00:59 +0800 Subject: ... --- FrontEnd/src/pages/setting/ChangeAvatarDialog.tsx | 15 ++++--- .../src/pages/setting/ChangeNicknameDialog.tsx | 6 +-- .../src/pages/setting/ChangePasswordDialog.tsx | 6 +-- FrontEnd/src/pages/setting/index.tsx | 46 ++++++++-------------- 4 files changed, 31 insertions(+), 42 deletions(-) (limited to 'FrontEnd/src/pages') diff --git a/FrontEnd/src/pages/setting/ChangeAvatarDialog.tsx b/FrontEnd/src/pages/setting/ChangeAvatarDialog.tsx index b2a4e2a8..8c8e04fe 100644 --- a/FrontEnd/src/pages/setting/ChangeAvatarDialog.tsx +++ b/FrontEnd/src/pages/setting/ChangeAvatarDialog.tsx @@ -9,13 +9,16 @@ import { useUser } from "@/services/user"; import { getHttpUserClient } from "@/http/user"; -import ImageCropper, { Clip, applyClipToImage } from "@/views/common/ImageCropper"; +import ImageCropper, { + Clip, + applyClipToImage, +} from "@/views/common/ImageCropper"; import Button from "@/views/common/button/Button"; import Dialog from "@/views/common/dialog/Dialog"; export interface ChangeAvatarDialogProps { open: boolean; - close: () => void; + onClose: () => void; } const ChangeAvatarDialog: React.FC = (props) => { @@ -42,12 +45,12 @@ const ChangeAvatarDialog: React.FC = (props) => { >("select"); const [message, setMessage] = useState( - "settings.dialogChangeAvatar.prompt.select" + "settings.dialogChangeAvatar.prompt.select", ); const trueMessage = convertI18nText(message, t); - const closeDialog = props.close; + const closeDialog = props.onClose; const close = React.useCallback((): void => { if (!(state === "uploading")) { @@ -92,7 +95,7 @@ const ChangeAvatarDialog: React.FC = (props) => { setFile(files[0]); } }, - [] + [], ); const onCropNext = React.useCallback(() => { @@ -140,7 +143,7 @@ const ChangeAvatarDialog: React.FC = (props) => { (e: unknown) => { setState("error"); setMessage({ type: "custom", value: (e as AxiosError).message }); - } + }, ); }, [user, resultBlob]); diff --git a/FrontEnd/src/pages/setting/ChangeNicknameDialog.tsx b/FrontEnd/src/pages/setting/ChangeNicknameDialog.tsx index 5606ce94..4d318543 100644 --- a/FrontEnd/src/pages/setting/ChangeNicknameDialog.tsx +++ b/FrontEnd/src/pages/setting/ChangeNicknameDialog.tsx @@ -5,11 +5,11 @@ import OperationDialog from "@/views/common/dialog/OperationDialog"; export interface ChangeNicknameDialogProps { open: boolean; - close: () => void; + onClose: () => void; } export default function ChangeNicknameDialog(props: ChangeNicknameDialogProps) { - const { open, close } = props; + const { open, onClose } = props; const user = useUserLoggedIn(); @@ -29,7 +29,7 @@ export default function ChangeNicknameDialog(props: ChangeNicknameDialogProps) { nickname: newNickname as string, }); }} - close={close} + onClose={onClose} /> ); } diff --git a/FrontEnd/src/pages/setting/ChangePasswordDialog.tsx b/FrontEnd/src/pages/setting/ChangePasswordDialog.tsx index 407f3051..87a970a5 100644 --- a/FrontEnd/src/pages/setting/ChangePasswordDialog.tsx +++ b/FrontEnd/src/pages/setting/ChangePasswordDialog.tsx @@ -9,11 +9,11 @@ import OperationDialog, { interface ChangePasswordDialogProps { open: boolean; - close: () => void; + onClose: () => void; } export function ChangePasswordDialog(props: ChangePasswordDialogProps) { - const { open, close } = props; + const { open, onClose } = props; const navigate = useNavigate(); @@ -22,7 +22,7 @@ export function ChangePasswordDialog(props: ChangePasswordDialogProps) { return ( (null); - - function dialogOpener(name: DialogName): () => void { - return () => setDialog(name); - } + const { dialogPropsMap, createDialogSwitch } = useDialog([ + "change-password", + "change-avatar", + "change-nickname", + "logout", + "renew-register-code", + ]); return ( @@ -257,20 +253,20 @@ export default function SettingPage() { @@ -278,31 +274,21 @@ export default function SettingPage() { - setDialog(null)} - /> + {user && ( <> setDialog(null)} - open={dialog === "logout"} onConfirm={() => { void userService.logout().then(() => { navigate("/"); }); }} + {...dialogPropsMap["logout"]} /> - setDialog(null)} - /> - setDialog(null)} - /> + + )} -- cgit v1.2.3