diff --git a/app/account/register/page.tsx b/app/account/register/page.tsx index fd45809aa..60adff93d 100644 --- a/app/account/register/page.tsx +++ b/app/account/register/page.tsx @@ -11,104 +11,120 @@ let emailError: string | null = null; let passwordError: string | null = null; export default function RegisterPage() { - async function handleSubmit(data: FormData) { - 'use server'; - const res = await createCustomer({ - variables: { - input: { - email: data.get('email') as string, - password: data.get('password') as string, - }, - }, - }); + async function handleSubmit(data: FormData) { + 'use server'; + const res = await createCustomer({ + variables: { + input: { + email: data.get('email') as string, + password: data.get('password') as string, + firstName: data.get('firstname') as string, + lastName: data.get('lastname') as string + } + } + }); - if (res.body.data.customerCreate.customer) { - const loginRes = await loginCustomer({ - variables: { - input: { - email: data.get('email') as string, - password: data.get('password') as string, - }, - }, - }); + if (res.body.data.customerCreate.customer) { + const loginRes = await loginCustomer({ + variables: { + input: { + email: data.get('email') as string, + password: data.get('password') as string, + } + } + }); - if ( - loginRes.body.data.customerAccessTokenCreate.customerAccessToken - ?.accessToken - ) { - cookies().set({ - name: 'customerAccessToken', - value: - loginRes.body.data.customerAccessTokenCreate.customerAccessToken - .accessToken, - httpOnly: true, - path: '/', - expires: new Date(Date.now() + 20 * 60 * 1000 + 5 * 1000), - }); - redirect('/account'); - } + if (loginRes.body.data.customerAccessTokenCreate.customerAccessToken?.accessToken) { + cookies().set({ + name: 'customerAccessToken', + value: loginRes.body.data.customerAccessTokenCreate.customerAccessToken.accessToken, + httpOnly: true, + path: '/', + expires: new Date(Date.now() + 20 * 60 * 1000 + 5 * 1000) + }); + redirect('/account'); + } - redirect('/account/login'); - } + redirect('/account/login'); + } - if (res.body.data.customerCreate.customerUserErrors.length > 0) { - res.body.data.customerCreate.customerUserErrors.filter((error: any) => { - if (error.field.includes('email')) { - emailError = error.message; - } - if (error.field.includes('password')) { - passwordError = error.message; - } - }); - } + if (res.body.data.customerCreate.customerUserErrors.length > 0) { + res.body.data.customerCreate.customerUserErrors.filter((error: any) => { + if (error.field.includes('email')) { + emailError = error.message; + } + if (error.field.includes('password')) { + passwordError = error.message; + } + }); + } - revalidatePath('/account/register'); - } + revalidatePath('/account/register'); + } - return ( - - -
-
- - {emailError && ( -

{emailError}  

- )} -
-
- - {passwordError && ( -

{passwordError}  

- )} -
- - - -
- ); + return ( + + +
+
+ +
+ +
+ +
+ +
+ + {emailError &&

{emailError}  

} +
+
+ + {passwordError &&

{passwordError}  

} +
+ + + +
+ ); } diff --git a/lib/shopify/index.ts b/lib/shopify/index.ts index 0bc065113..7eb611cb2 100644 --- a/lib/shopify/index.ts +++ b/lib/shopify/index.ts @@ -301,6 +301,8 @@ export async function createCustomer({ input: { email: string; password: string; + firstName: string; + lastName: string; }; }; }) { @@ -312,6 +314,8 @@ export async function createCustomer({ input: { email: string; password: string; + firstName: string; + lastName: string; }; }; }>({