@@ -6,7 +6,12 @@ import { parseWithZod } from '@conform-to/zod';
66import { getLocale , getTranslations } from 'next-intl/server' ;
77import { z } from 'zod' ;
88
9- import { Field , FieldGroup , schema } from '@/vibes/soul/form/dynamic-form/schema' ;
9+ import {
10+ Field ,
11+ FieldGroup ,
12+ PasswordComplexitySettings ,
13+ schema ,
14+ } from '@/vibes/soul/form/dynamic-form/schema' ;
1015import { signIn } from '~/auth' ;
1116import { client } from '~/client' ;
1217import { graphql , VariablesOf } from '~/client/graphql' ;
@@ -335,10 +340,12 @@ function parseRegisterCustomerInput(
335340}
336341
337342export async function registerCustomer < F extends Field > (
338- fields : Array < F | FieldGroup < F > > ,
339- prevState : {
343+ {
344+ fields,
345+ passwordComplexity,
346+ } : { fields : Array < F | FieldGroup < F > > ; passwordComplexity ?: PasswordComplexitySettings | null } ,
347+ _prevState : {
340348 lastResult : SubmissionResult | null ;
341- passwordComplexity ?: Parameters < typeof schema > [ 1 ] ;
342349 } ,
343350 formData : FormData ,
344351) {
@@ -347,13 +354,12 @@ export async function registerCustomer<F extends Field>(
347354 const cartId = await getCartId ( ) ;
348355
349356 const submission = parseWithZod ( formData , {
350- schema : schema ( fields , prevState . passwordComplexity ) ,
357+ schema : schema ( fields , passwordComplexity ) ,
351358 } ) ;
352359
353360 if ( submission . status !== 'success' ) {
354361 return {
355362 lastResult : submission . reply ( ) ,
356- passwordComplexity : prevState . passwordComplexity ,
357363 } ;
358364 }
359365
@@ -374,7 +380,6 @@ export async function registerCustomer<F extends Field>(
374380 lastResult : submission . reply ( {
375381 formErrors : response . data . customer . registerCustomer . errors . map ( ( error ) => error . message ) ,
376382 } ) ,
377- passwordComplexity : prevState . passwordComplexity ,
378383 } ;
379384 }
380385
@@ -395,20 +400,17 @@ export async function registerCustomer<F extends Field>(
395400 lastResult : submission . reply ( {
396401 formErrors : error . errors . map ( ( { message } ) => message ) ,
397402 } ) ,
398- passwordComplexity : prevState . passwordComplexity ,
399403 } ;
400404 }
401405
402406 if ( error instanceof Error ) {
403407 return {
404408 lastResult : submission . reply ( { formErrors : [ error . message ] } ) ,
405- passwordComplexity : prevState . passwordComplexity ,
406409 } ;
407410 }
408411
409412 return {
410413 lastResult : submission . reply ( { formErrors : [ t ( 'somethingWentWrong' ) ] } ) ,
411- passwordComplexity : prevState . passwordComplexity ,
412414 } ;
413415 }
414416
0 commit comments