mirror of
https://github.com/usememos/memos.git
synced 2025-06-05 22:09:59 +02:00
feat: create user repeat password (#614)
* feat: create user repeat password * update
This commit is contained in:
@ -11,6 +11,7 @@ import "../../less/settings/member-section.less";
|
||||
interface State {
|
||||
createUserUsername: string;
|
||||
createUserPassword: string;
|
||||
repeatUserPassword: string;
|
||||
}
|
||||
|
||||
const PreferencesSection = () => {
|
||||
@ -19,6 +20,7 @@ const PreferencesSection = () => {
|
||||
const [state, setState] = useState<State>({
|
||||
createUserUsername: "",
|
||||
createUserPassword: "",
|
||||
repeatUserPassword: "",
|
||||
});
|
||||
const [userList, setUserList] = useState<User[]>([]);
|
||||
|
||||
@ -45,11 +47,22 @@ const PreferencesSection = () => {
|
||||
});
|
||||
};
|
||||
|
||||
const handleRepeatPasswordInputChange = (event: React.ChangeEvent<HTMLInputElement>) => {
|
||||
setState({
|
||||
...state,
|
||||
repeatUserPassword: event.target.value,
|
||||
});
|
||||
};
|
||||
|
||||
const handleCreateUserBtnClick = async () => {
|
||||
if (state.createUserUsername === "" || state.createUserPassword === "") {
|
||||
toastHelper.error(t("message.fill-form"));
|
||||
return;
|
||||
}
|
||||
if (state.createUserPassword !== state.repeatUserPassword) {
|
||||
toastHelper.error(t("message.password-not-match"));
|
||||
return;
|
||||
}
|
||||
|
||||
const userCreate: UserCreate = {
|
||||
username: state.createUserUsername,
|
||||
@ -60,13 +73,13 @@ const PreferencesSection = () => {
|
||||
try {
|
||||
await api.createUser(userCreate);
|
||||
} catch (error: any) {
|
||||
console.error(error);
|
||||
toastHelper.error(error.response.data.message);
|
||||
}
|
||||
await fetchUserList();
|
||||
setState({
|
||||
createUserUsername: "",
|
||||
createUserPassword: "",
|
||||
repeatUserPassword: "",
|
||||
});
|
||||
};
|
||||
|
||||
@ -119,6 +132,15 @@ const PreferencesSection = () => {
|
||||
<span className="field-text">{t("common.password")}</span>
|
||||
<input type="password" placeholder={t("common.password")} value={state.createUserPassword} onChange={handlePasswordInputChange} />
|
||||
</div>
|
||||
<div className="input-form-container">
|
||||
<span className="field-text">{t("common.repeat-password-short")}</span>
|
||||
<input
|
||||
type="password"
|
||||
placeholder={t("common.repeat-password")}
|
||||
value={state.repeatUserPassword}
|
||||
onChange={handleRepeatPasswordInputChange}
|
||||
/>
|
||||
</div>
|
||||
<div className="btns-container">
|
||||
<button onClick={handleCreateUserBtnClick}>{t("common.create")}</button>
|
||||
</div>
|
||||
|
Reference in New Issue
Block a user