Skip to content

Commit 10ecf02

Browse files
committed
store email in state and reload in form filed on component rerender for registration
1 parent c737389 commit 10ecf02

File tree

2 files changed

+8
-0
lines changed

2 files changed

+8
-0
lines changed

src/features/auth/actions/register-user.ts

Lines changed: 6 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -5,15 +5,18 @@ import {registerUser as signUpUser} from "@/dal/public/auth";
55
type SuccessRegisterState = {
66
success: true;
77
message: string;
8+
email : string;
89
};
910

1011
type FailureRegisterState = {
1112
success: false;
1213
errorMessage: string;
14+
email : string;
1315
};
1416

1517
type UntouchedState = {
1618
success: undefined;
19+
email : string;
1720
};
1821

1922
type State = SuccessRegisterState | FailureRegisterState | UntouchedState;
@@ -31,6 +34,7 @@ export async function registerUser(
3134
return {
3235
success: true,
3336
message: "",
37+
email: email,
3438
};
3539
} catch (e) {
3640
if (e instanceof DALDriverError) {
@@ -39,12 +43,14 @@ export async function registerUser(
3943
return {
4044
success: false,
4145
errorMessage: errors.identity,
46+
email: email ?? "",
4247
};
4348
}
4449
}
4550
}
4651
return {
4752
success: false,
4853
errorMessage: "خطایی ناشناخته اتفاق افتاد لطفا دوباره تلاش نمایید",
54+
email: email ?? "",
4955
};
5056
}

src/features/auth/components/register-form.tsx

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -17,6 +17,7 @@ import {registerUser} from "../actions/register-user";
1717
export function RegisterForm() {
1818
const [state, dispatch, isPending] = useActionState(registerUser, {
1919
success: undefined,
20+
email: undefined,
2021
});
2122

2223
const renderFeedbackAlert = () => {
@@ -79,6 +80,7 @@ export function RegisterForm() {
7980
mt={"md"}
8081
required
8182
disabled={state.success}
83+
defaultValue={state.email}
8284
/>
8385
{renderFeedbackAlert()}
8486
{(state.success === false || state.success === undefined) && (

0 commit comments

Comments
 (0)