Files
ColdBreeze-chat-web/src/routes/setting/Overview/WhoCanSignUpSetting.tsx
T
2025-02-10 15:06:50 +08:00

32 lines
1.1 KiB
TypeScript

import SettingBlock from "@/components/SettingBlock";
import useConfig from "@/hooks/useConfig";
import { LoginConfig, WhoCanSignUp } from "@/types/server";
import { useTranslation } from "react-i18next";
import StyledRadio from "../../../components/styled/Radio";
type Props = {};
const WhoCanSignUpSetting = ({}: Props) => {
const { t } = useTranslation("setting");
const { values: loginConfig, updateConfig: updateLoginConfig } = useConfig("login");
const handleUpdateWhoCanSignUp = (value: WhoCanSignUp) => {
updateLoginConfig({ ...loginConfig, who_can_sign_up: value });
};
if (!loginConfig) return null;
const { who_can_sign_up: whoCanSignUp } = loginConfig as LoginConfig;
return (
<SettingBlock title={t("overview.sign_up.title")} desc={t("overview.sign_up.desc")}>
<StyledRadio
options={[t("overview.sign_up.everyone"), t("overview.sign_up.invite")]}
values={["EveryOne", "InvitationOnly"]}
value={whoCanSignUp}
onChange={(v: WhoCanSignUp) => {
handleUpdateWhoCanSignUp(v);
}}
/>
</SettingBlock>
);
};
export default WhoCanSignUpSetting;