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 (
-
-
-
-
- );
+ return (
+
+
+
+
+ );
}
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;
};
};
}>({