import React, { useState } from "react"; import { useHistory } from "react-router"; import { useTranslation } from "react-i18next"; import { useUser, userService } from "@/services/user"; import ChangePasswordDialog from "./ChangePasswordDialog"; import ChangeAvatarDialog from "./ChangeAvatarDialog"; import ChangeNicknameDialog from "./ChangeNicknameDialog"; import ConfirmDialog from "../common/dailog/ConfirmDialog"; import Card from "../common/Card"; import "./index.css"; const SettingsPage: React.FC = (_) => { const { i18n, t } = useTranslation(); const user = useUser(); const history = useHistory(); const [dialog, setDialog] = useState< null | "changepassword" | "changeavatar" | "changenickname" | "logout" >(null); const language = i18n.language.slice(0, 2); return ( <>
{user ? (

{t("settings.subheaders.account")}

setDialog("changeavatar")} > {t("settings.changeAvatar")}
setDialog("changenickname")} > {t("settings.changeNickname")}
setDialog("changepassword")} > {t("settings.changePassword")}
{ setDialog("logout"); }} > {t("settings.logout")}
) : null}

{t("settings.subheaders.customization")}

{t("settings.languagePrimary")}
{t("settings.languageSecondary")}
setDialog(null)} /> setDialog(null)} open={dialog === "logout"} onConfirm={() => { void userService.logout().then(() => { history.push("/"); }); }} /> setDialog(null)} /> setDialog(null)} /> ); }; export default SettingsPage;