From 1e199de7b2dcc6ce10f8de8840325e2b9ff75d4b Mon Sep 17 00:00:00 2001 From: smanylov Date: Tue, 3 Feb 2026 15:25:11 +0700 Subject: [PATCH] edit registration --- src/app/actions/auth.ts | 16 +++++++++++++ src/app/actions/definitions.ts | 27 ++++++++-------------- src/app/lib/validation-config-parser.ts | 4 ++-- src/app/ui/forms/register-form.tsx | 2 +- src/app/ui/header/userMenuButton.tsx | 3 +-- src/app/ui/payment/payment-tab-tariffs.tsx | 23 ++++++++++++++++++ 6 files changed, 52 insertions(+), 23 deletions(-) diff --git a/src/app/actions/auth.ts b/src/app/actions/auth.ts index fd1b6e4..7e1a595 100644 --- a/src/app/actions/auth.ts +++ b/src/app/actions/auth.ts @@ -170,6 +170,8 @@ export async function registration( const validatedFields = SignupFormSchema.safeParse(dataToValidate); + console.log(`account-type ${accountType}`) + if (!validatedFields.success) { const errors: Record = {} JSON.parse(validatedFields.error.message).forEach((obj: { @@ -197,6 +199,19 @@ export async function registration( }; } + /* + return { + previousState: { + fullName, + email, + password, + confirm_password, + phone, + agree, + ...(accountType === 'b2b' && { companyName }) + } + }; */ + try { const { fullName, email, password, phone } = validatedFields.data; const response = await fetch(`${API_BASE_URL}/api/v1/data`, { @@ -228,6 +243,7 @@ export async function registration( if (parsed.message_desc === 'Operation successful') { await createSession(parsed.message_body.token, email as string); + console.log('succes registration'); } else { throw parsed; } diff --git a/src/app/actions/definitions.ts b/src/app/actions/definitions.ts index 51e9662..98bedeb 100644 --- a/src/app/actions/definitions.ts +++ b/src/app/actions/definitions.ts @@ -35,9 +35,6 @@ interface ValidationConfig { const defaultConfig = validationConfig as ValidationConfig; -let cachedSignupSchema: any = null; -let schemaPromise: Promise | null = null; - async function loadConfigFromBackend(accountType?: 'b2b' | 'b2c'): Promise { try { const response = await fetch('/api/validation-config'); @@ -51,22 +48,16 @@ async function loadConfigFromBackend(accountType?: 'b2b' | 'b2c'): Promise } export async function getSignupFormSchema(schemaType?: 'b2b' | 'b2c' | 'resetPassword') { - if (cachedSignupSchema) { - return cachedSignupSchema; - } + let schemaPromise: Promise | null = null; - if (!schemaPromise) { - schemaPromise = (async () => { - const config = await loadConfigFromBackend(); - if (schemaType === 'resetPassword') { - cachedSignupSchema = createValidationSchemaForPssword(config); - } else { - cachedSignupSchema = createValidationSchema(config, schemaType); - } - - return cachedSignupSchema; - })(); - } + schemaPromise = (async () => { + const config = await loadConfigFromBackend(); + if (schemaType === 'resetPassword') { + return createValidationSchemaForPssword(config); + } else { + return createValidationSchema(config, schemaType); + } + })(); return await schemaPromise; } diff --git a/src/app/lib/validation-config-parser.ts b/src/app/lib/validation-config-parser.ts index d3a3825..4e1eb44 100644 --- a/src/app/lib/validation-config-parser.ts +++ b/src/app/lib/validation-config-parser.ts @@ -38,8 +38,8 @@ export function createValidationSchema(config: ValidationConfig, accountType?: ' .trim(); } - // fullName - if (config.companyName && accountType !== 'b2c') { + // companyName + if (config.companyName && accountType === 'b2b') { schema.companyName = z .string() .trim() diff --git a/src/app/ui/forms/register-form.tsx b/src/app/ui/forms/register-form.tsx index b818b42..67a0d31 100644 --- a/src/app/ui/forms/register-form.tsx +++ b/src/app/ui/forms/register-form.tsx @@ -84,7 +84,7 @@ export default function RegisterForm() { if (fieldName === 'phone') { return schema.safeParse(value.replace(/[-\(\)\s]/g, '')); } - if (fieldName === 'companyName' && accountType === 'b2c') { + if (fieldName === 'companyName') { return { success: true, data: value }; } return schema.safeParse(value); diff --git a/src/app/ui/header/userMenuButton.tsx b/src/app/ui/header/userMenuButton.tsx index f813a44..7d2a03a 100644 --- a/src/app/ui/header/userMenuButton.tsx +++ b/src/app/ui/header/userMenuButton.tsx @@ -22,8 +22,7 @@ export default function UserMenuButton() { queryFn: () => { return getUserData(); } - }) - + }); useClickOutside( menuRef, diff --git a/src/app/ui/payment/payment-tab-tariffs.tsx b/src/app/ui/payment/payment-tab-tariffs.tsx index 2dfd7dc..3f47487 100644 --- a/src/app/ui/payment/payment-tab-tariffs.tsx +++ b/src/app/ui/payment/payment-tab-tariffs.tsx @@ -1,4 +1,27 @@ +'use client' + +import { useEffect } from 'react'; +import { getUserData } from '@/app/actions/action'; +import { useQuery } from '@tanstack/react-query'; + export default function PaymentTabTariffs() { + const { + data: userData, + isLoading, + isError, + error + } = useQuery({ + queryKey: ['userData'], + queryFn: () => { + return getUserData(); + } + }); + + useEffect(() => { + console.log('show => userData'); + console.log(userData); + }, []) + return (