refactor: guest mode toggler

This commit is contained in:
Tristan Yang
2022-09-02 22:27:23 +08:00
parent 9b52b4423f
commit 1e8dacfcac
2 changed files with 20 additions and 10 deletions
+2 -1
View File
@@ -2,6 +2,7 @@ import { Suspense, useEffect, lazy } from "react";
import { Route, Routes, HashRouter } from "react-router-dom";
import { Provider } from "react-redux";
import toast from "react-hot-toast";
import { isEqual } from "lodash";
import NotFoundPage from "./404";
// import Welcome from './Welcome'
// const HomePage = lazy(() => import("./home"));
@@ -34,7 +35,7 @@ const PageRoutes = () => {
fileMessages
} = useAppSelector((store) => {
return { ui: store.ui, fileMessages: store.fileMessage };
});
}, isEqual);
// 掉线检测
useEffect(() => {
+18 -9
View File
@@ -112,8 +112,9 @@ export default function Overview() {
const handleReset = () => {
setServerValues(server);
};
const handleGuestToggle = (val: Partial<Pick<LoginConfig, "guest">>) => {
updateLoginConfig({ ...loginConfig, ...val });
const handleGuestToggle = (v: "true" | "false") => {
const guest = v === "true";
updateLoginConfig({ ...loginConfig, guest });
};
useEffect(() => {
if (uploadSuccess) {
@@ -205,13 +206,21 @@ export default function Overview() {
</div>
<div className="setting">
<p className="label">Guest Mode</p>
<div className="tip">
<span className="txt">Allow Guest visiting homepage.</span>
<Toggle
onClick={handleGuestToggle.bind(null, { guest: !guest })}
data-checked={guest}
></Toggle>
</div>
<p className="tip">
<span className="txt">
If enabled, visitors will see public channels on this server.
</span>
</p>
<StyledRadio
options={["Enabled", "Disabled"]}
values={["true", "false"]}
value={String(guest)}
onChange={(v) => {
console.log("wtff", v);
handleGuestToggle(v);
}}
/>
</div>
</>
)}