From ff2140b9ef150045b7d4c1bed2e3233406741316 Mon Sep 17 00:00:00 2001 From: Sam Date: Fri, 23 Jan 2026 16:49:24 +0700 Subject: [PATCH] change basic form to form context --- messages/en.json | 1 + messages/vi.json | 1 + src/components/form/admin-ban-user-form.tsx | 142 +++--------- .../form/admin-create-user-form.tsx | 157 +++---------- .../form/admin-set-password-form.tsx | 62 ++--- .../form/admin-set-user-role-form.tsx | 90 ++------ .../form/admin-update-user-info-form.tsx | 60 +---- src/components/form/change-password-form.tsx | 148 +++--------- src/components/form/form-components.tsx | 218 ++++++++++++++++++ src/components/form/profile-form.tsx | 75 ++---- src/components/form/settings-form.tsx | 101 ++------ src/components/form/signin-form.tsx | 82 ++----- src/components/form/user-settings-form.tsx | 76 ++---- src/components/user/add-new-user-dialog.tsx | 6 +- src/hooks/use-app-form.ts | 29 +++ src/routeTree.gen.ts | 21 -- src/routes/(app)/route.tsx | 12 + src/routes/(auth)/sign-up.tsx | 20 -- src/service/queries.ts | 11 +- src/service/setting.api.ts | 20 ++ src/service/user.schema.ts | 30 +++ 21 files changed, 558 insertions(+), 804 deletions(-) create mode 100644 src/components/form/form-components.tsx create mode 100644 src/hooks/use-app-form.ts delete mode 100644 src/routes/(auth)/sign-up.tsx diff --git a/messages/en.json b/messages/en.json index e355932..d10d513 100644 --- a/messages/en.json +++ b/messages/en.json @@ -93,6 +93,7 @@ "settings_form_description": "Description", "settings_form_keywords": "keywords", "settings_form_language": "Language", + "settings_form_select_language": "Please select language", "settings_ui_title": "Settings", "settings_messages_update_success": "Updated settings successfully!", "settings_messages_update_fail": "Update fail!", diff --git a/messages/vi.json b/messages/vi.json index b76505f..4239ace 100644 --- a/messages/vi.json +++ b/messages/vi.json @@ -93,6 +93,7 @@ "settings_form_description": "Mô tả website", "settings_form_keywords": "Từ khóa", "settings_form_language": "Ngôn ngữ", + "settings_form_select_language": "Hãy chọn ngôn ngữ", "settings_ui_title": "Cài đặt", "settings_messages_update_success": "Cập nhật cài đặt thành công!", "settings_messages_update_fail": "Cập nhật cài đặt thất bại!", diff --git a/src/components/form/admin-ban-user-form.tsx b/src/components/form/admin-ban-user-form.tsx index 815ba55..1d09900 100644 --- a/src/components/form/admin-ban-user-form.tsx +++ b/src/components/form/admin-ban-user-form.tsx @@ -1,21 +1,12 @@ +import { useAppForm } from '@/hooks/use-app-form'; import { m } from '@/paraglide/messages'; import { userBanSchema } from '@/service/user.schema'; import { WarningIcon } from '@phosphor-icons/react'; -import { useForm } from '@tanstack/react-form'; import { UserWithRole } from 'better-auth/plugins'; import { Alert, AlertDescription, AlertTitle } from '../ui/alert'; import { Button } from '../ui/button'; import { DialogClose, DialogFooter } from '../ui/dialog'; -import { Field, FieldError, FieldGroup, FieldLabel } from '../ui/field'; -import { Input } from '../ui/input'; -import { - Select, - SelectContent, - SelectItem, - SelectTrigger, - SelectValue, -} from '../ui/select'; -import { Textarea } from '../ui/textarea'; +import { Field, FieldGroup } from '../ui/field'; import { useBanContext } from '../user/ban-user-dialog'; type FormProps = { @@ -25,7 +16,7 @@ type FormProps = { const BanUserForm = ({ data }: FormProps) => { const { setSubmitData, setOpen, setOpenConfirm } = useBanContext(); - const form = useForm({ + const form = useAppForm({ defaultValues: { id: data.id, banReason: '', @@ -59,99 +50,33 @@ const BanUserForm = ({ data }: FormProps) => { {m.profile_form_name()}: {data.name} - adá + {data.name} - { - const isInvalid = - field.state.meta.isTouched && !field.state.meta.isValid; - return ( - - - {isInvalid && } - - ); - }} - /> - { - const isInvalid = - field.state.meta.isTouched && !field.state.meta.isValid; - return ( - - - {m.users_page_ui_form_ban_reason()}: - -