"use client" import type { JSX } from "react" import { FunctionComponent } from "react" import { useForm } from "react-hook-form" import { useHookFormMask } from "use-mask-input" import api from "@shared/api" import { Button, Form, TextField } from "@shared/ui" import { IRegisterPageProps } from "../model/RegisterPage.d" import styles from "./RegisterPage.module.scss" interface IRegisterFormData { username: string email: string password: string first_name: string last_name: string phone_number?: string avatar?: string } export const RegisterPage: FunctionComponent< IRegisterPageProps > = (): JSX.Element => { const { mutate, isPending } = api.useMutation("post", "/auth/register", { onSuccess: (data) => { console.log("Register successful:", data) }, onError: (error) => { console.error("Register failed:", error) }, }) const { register, handleSubmit } = useForm() const registerWithMask = useHookFormMask(register) const onSubmit = (data: IRegisterFormData): void => { const phone = data.phone_number?.trim() const avatar = data.avatar?.trim() mutate({ body: { username: data.username, email: data.email, password: data.password, first_name: data.first_name, last_name: data.last_name, phone_number: phone || undefined, avatar: avatar || undefined, }, }) } return (

Регистрация

) }