refactor: setting page

This commit is contained in:
zerosoul
2022-04-15 13:18:03 +08:00
parent eb8717da8e
commit 19a4861819
9 changed files with 56 additions and 63 deletions
+8 -11
View File
@@ -1,37 +1,34 @@
import { useState } from "react";
// import { useDispatch } from "react-redux";
import { useNavigate } from "react-router-dom";
import { useNavigate, useSearchParams } from "react-router-dom";
import StyledSettingContainer from "../../common/component/StyledSettingContainer";
import useNavs from "./navs";
import LogoutConfirmModal from "./LogoutConfirmModal";
let from = null;
export default function Setting() {
const [searchParams] = useSearchParams();
const navs = useNavs();
const flatenNavs = navs
.map(({ items }) => {
return items;
})
.flat();
const [currNav, setCurrNav] = useState(flatenNavs[0]);
const navKey = searchParams.get("nav");
from = from ?? (searchParams.get("f") || "/");
const [logoutConfirm, setLogoutConfirm] = useState(false);
const navgateTo = useNavigate();
const close = () => {
// dispatch(toggleSetting());
navgateTo(-1);
navgateTo(from);
from = null;
};
const toggleLogoutConfrim = () => {
setLogoutConfirm((prev) => !prev);
};
const updateNav = (name) => {
const tmp = flatenNavs.find((n) => n.name == name);
if (tmp) {
setCurrNav(tmp);
}
};
const currNav = flatenNavs.find((n) => n.name == navKey) || flatenNavs[0];
return (
<>
<StyledSettingContainer
updateNav={updateNav}
nav={currNav}
closeModal={close}
title="Settings"