From 0e8491c4d2e9373e78cdeaa53ed7c11db3fbce21 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:23:38 -0300 Subject: [PATCH 01/10] feat: improve error messages --- .../remote-create-general-cultivation-disease-use-case.ts | 2 +- .../remote-delete-general-cultivation-disease-use-case.ts | 2 +- .../remote-get-general-cultivation-disease-use-case.ts | 2 +- .../remote-get-general-cultivation-diseases-use-case.ts | 2 +- .../remote-update-general-cultivation-disease-use-case.ts | 2 +- 5 files changed, 5 insertions(+), 5 deletions(-) diff --git a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-create-general-cultivation-disease-use-case.ts b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-create-general-cultivation-disease-use-case.ts index 2362444a..c8123312 100644 --- a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-create-general-cultivation-disease-use-case.ts +++ b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-create-general-cultivation-disease-use-case.ts @@ -30,7 +30,7 @@ export class RemoteCreateGeneralCultivationDiseaseUseCase if (statusCode === HttpStatusCode.forbidden) { throw new ForbiddenError( - 'Você não tem permissão para criar uma doença geral de cultivo.' + 'Você não tem permissão para criar uma doença de cultivo geral.' ) } diff --git a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-delete-general-cultivation-disease-use-case.ts b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-delete-general-cultivation-disease-use-case.ts index 8d9bcbd9..91779f65 100644 --- a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-delete-general-cultivation-disease-use-case.ts +++ b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-delete-general-cultivation-disease-use-case.ts @@ -31,7 +31,7 @@ export class RemoteDeleteGeneralCultivationDiseaseUseCase if (statusCode === HttpStatusCode.forbidden) { throw new ForbiddenError( - 'Você não tem permissão para excluir uma doença geral de cultivo.' + 'Você não tem permissão para excluir uma doença de cultivo geral.' ) } diff --git a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-disease-use-case.ts b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-disease-use-case.ts index f08adba3..4b2ad7a2 100644 --- a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-disease-use-case.ts +++ b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-disease-use-case.ts @@ -39,7 +39,7 @@ export class RemoteGetGeneralCultivationDiseaseUseCase if (statusCode === HttpStatusCode.forbidden) { throw new ForbiddenError( - 'Você não tem permissão para buscar uma doença geral de cultivo.' + 'Você não tem permissão para buscar uma doença de cultivo geral.' ) } diff --git a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-diseases-use-case.ts b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-diseases-use-case.ts index 027129bc..784895d1 100644 --- a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-diseases-use-case.ts +++ b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-get-general-cultivation-diseases-use-case.ts @@ -64,7 +64,7 @@ export class RemoteGetGeneralCultivationDiseasesUseCase if (statusCode === HttpStatusCode.forbidden) { throw new ForbiddenError( - 'Você não tem permissão para buscar as doenças gerais de cultivo.' + 'Você não tem permissão para buscar as doenças de cultivos gerais.' ) } diff --git a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-update-general-cultivation-disease-use-case.ts b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-update-general-cultivation-disease-use-case.ts index fe43e732..a40d8b64 100644 --- a/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-update-general-cultivation-disease-use-case.ts +++ b/src/app/modules/general-cultivations/data/use-cases/general-cultivation-diseases-use-cases/remote-update-general-cultivation-disease-use-case.ts @@ -30,7 +30,7 @@ export class RemoteUpdateGeneralCultivationDiseaseUseCase if (statusCode === HttpStatusCode.forbidden) { throw new ForbiddenError( - 'Você não tem permissão para editar uma doença geral de cultivo.' + 'Você não tem permissão para editar uma doença de cultivo geral.' ) } From ea6551103010a3dc92d79717f5c81653c8d572d7 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:25:41 -0300 Subject: [PATCH 02/10] feat: add context --- .../general-cultivation-disease-context.tsx | 143 ++++++++++++++++++ ...eneral-cultivation-disease-context.hook.ts | 15 ++ 2 files changed, 158 insertions(+) create mode 100644 src/app/modules/general-cultivations/presentation/contexts/general-cultivation-disease-context.tsx create mode 100644 src/app/modules/general-cultivations/presentation/hooks/general-cultivation-disease-context.hook.ts diff --git a/src/app/modules/general-cultivations/presentation/contexts/general-cultivation-disease-context.tsx b/src/app/modules/general-cultivations/presentation/contexts/general-cultivation-disease-context.tsx new file mode 100644 index 00000000..582ecb6f --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/contexts/general-cultivation-disease-context.tsx @@ -0,0 +1,143 @@ +import { + createContext, + useCallback, + useMemo, + useState, + type PropsWithChildren, +} from 'react' + +import type { GeneralCultivationDiseaseModel } from '../../domain/models/general-cultivation-diseases-model' +import type { GeneralCultivationDiseaseFilters } from '../types/general-cultivation-disease-types' + +type GeneralCultivationDiseaseContextValue = { + filters: GeneralCultivationDiseaseFilters + handleChangeFilters: (newFilters: GeneralCultivationDiseaseFilters) => void + selectedGeneralCultivationDisease?: GeneralCultivationDiseaseModel + isOpenNewGeneralCultivationDiseaseForm: boolean + isOpenEditGeneralCultivationDiseaseForm: boolean + isOpenDeleteGeneralCultivationDiseaseContainer: boolean + openNewGeneralCultivationDiseaseForm: () => void + closeNewGeneralCultivationDiseaseForm: () => void + openEditGeneralCultivationDiseaseForm: ( + generalCultivationDisease: GeneralCultivationDiseaseModel + ) => void + closeEditGeneralCultivationDiseaseForm: () => void + openDeleteGeneralCultivationDiseaseContainer: ( + generalCultivationDisease: GeneralCultivationDiseaseModel + ) => void + closeDeleteGeneralCultivationDiseaseContainer: () => void +} + +export const GeneralCultivationDiseaseContext = createContext( + {} as GeneralCultivationDiseaseContextValue +) + +export function GeneralCultivationDiseaseProvider({ + children, +}: Readonly) { + const [filters, setFilters] = useState({}) + + const handleChangeFilters = useCallback( + (newFilters: GeneralCultivationDiseaseFilters) => { + setFilters((prevState) => ({ + ...prevState, + ...newFilters, + })) + }, + [] + ) + + const [ + isOpenNewGeneralCultivationDiseaseForm, + setIsOpenNewGeneralCultivationDiseaseForm, + ] = useState(false) + + const [ + isOpenEditGeneralCultivationDiseaseForm, + setIsOpenEditGeneralCultivationDiseaseForm, + ] = useState(false) + + const [ + isOpenDeleteGeneralCultivationDiseaseContainer, + setIsOpenDeleteGeneralCultivationDiseaseContainer, + ] = useState(false) + + const [ + selectedGeneralCultivationDisease, + setSelectedGeneralCultivationDisease, + ] = useState() + + const openNewGeneralCultivationDiseaseForm = useCallback(() => { + setIsOpenNewGeneralCultivationDiseaseForm(true) + }, []) + + const closeNewGeneralCultivationDiseaseForm = useCallback(() => { + setIsOpenNewGeneralCultivationDiseaseForm(false) + }, []) + + const openEditGeneralCultivationDiseaseForm = useCallback( + (generalCultivationDisease: GeneralCultivationDiseaseModel) => { + setSelectedGeneralCultivationDisease(generalCultivationDisease) + setIsOpenEditGeneralCultivationDiseaseForm(true) + }, + [] + ) + + const closeEditGeneralCultivationDiseaseForm = useCallback(() => { + setSelectedGeneralCultivationDisease(undefined) + setIsOpenEditGeneralCultivationDiseaseForm(false) + }, []) + + const openDeleteGeneralCultivationDiseaseContainer = useCallback( + (generalCultivationDisease: GeneralCultivationDiseaseModel) => { + setSelectedGeneralCultivationDisease(generalCultivationDisease) + setIsOpenDeleteGeneralCultivationDiseaseContainer(true) + }, + [] + ) + + const closeDeleteGeneralCultivationDiseaseContainer = useCallback(() => { + setSelectedGeneralCultivationDisease(undefined) + setIsOpenDeleteGeneralCultivationDiseaseContainer(false) + }, []) + + const providerValues = useMemo( + () => ({ + filters, + handleChangeFilters, + selectedGeneralCultivationDisease, + isOpenNewGeneralCultivationDiseaseForm, + isOpenEditGeneralCultivationDiseaseForm, + isOpenDeleteGeneralCultivationDiseaseContainer, + openNewGeneralCultivationDiseaseForm, + closeNewGeneralCultivationDiseaseForm, + openEditGeneralCultivationDiseaseForm, + closeEditGeneralCultivationDiseaseForm, + openDeleteGeneralCultivationDiseaseContainer, + closeDeleteGeneralCultivationDiseaseContainer, + }), + [ + filters, + handleChangeFilters, + selectedGeneralCultivationDisease, + isOpenNewGeneralCultivationDiseaseForm, + isOpenEditGeneralCultivationDiseaseForm, + isOpenDeleteGeneralCultivationDiseaseContainer, + openNewGeneralCultivationDiseaseForm, + closeNewGeneralCultivationDiseaseForm, + openEditGeneralCultivationDiseaseForm, + closeEditGeneralCultivationDiseaseForm, + openDeleteGeneralCultivationDiseaseContainer, + closeDeleteGeneralCultivationDiseaseContainer, + ] + ) + + return ( + + {children} + + ) +} + +GeneralCultivationDiseaseProvider.displayName = + 'GeneralCultivationDiseaseProvider' diff --git a/src/app/modules/general-cultivations/presentation/hooks/general-cultivation-disease-context.hook.ts b/src/app/modules/general-cultivations/presentation/hooks/general-cultivation-disease-context.hook.ts new file mode 100644 index 00000000..f36ad320 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/hooks/general-cultivation-disease-context.hook.ts @@ -0,0 +1,15 @@ +import { useContext } from 'react' + +import { GeneralCultivationDiseaseContext } from '../contexts/general-cultivation-disease-context' + +export function useGeneralCultivationDiseaseContext() { + const context = useContext(GeneralCultivationDiseaseContext) + + if (!context) { + throw new Error( + 'useGeneralCultivationDiseaseContext should be used within ' + ) + } + + return context +} From b769479ffcd4756e6a11445863a3c854d9bce01d Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:26:14 -0300 Subject: [PATCH 03/10] feat: improve error messages on query hooks --- .../hooks/queries/general-cultivation-disease-query.hook.ts | 2 +- .../hooks/queries/general-cultivation-diseases-query.hook.ts | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-disease-query.hook.ts b/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-disease-query.hook.ts index c91e8212..eeb0a53b 100644 --- a/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-disease-query.hook.ts +++ b/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-disease-query.hook.ts @@ -30,7 +30,7 @@ export function useGeneralCultivationDiseaseQuery({ id }: Props) { useEffect(() => { if (isError) toast.error( - error?.message ?? 'Erro ao buscar uma doença geral de cultivo' + error?.message ?? 'Erro ao buscar uma doença de cultivo geral' ) }, [error, isError]) diff --git a/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-diseases-query.hook.ts b/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-diseases-query.hook.ts index d3d584b4..19d89c51 100644 --- a/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-diseases-query.hook.ts +++ b/src/app/modules/general-cultivations/presentation/hooks/queries/general-cultivation-diseases-query.hook.ts @@ -42,7 +42,7 @@ export function useGeneralCultivationDiseasesQuery({ useEffect(() => { if (isError) - toast.error(error?.message ?? 'Erro ao buscar doenças gerais de cultivo') + toast.error(error?.message ?? 'Erro ao buscar doenças de cultivos gerais') }, [error, isError]) return { From d49dcab01c5c0e37ec81962c3af4051ebfd0af60 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:26:48 -0300 Subject: [PATCH 04/10] feat: add datatable --- ...al-cultivation-disease-data-table.hook.tsx | 94 +++++++++++++++++++ ...general-cultivation-disease-data-table.tsx | 37 ++++++++ .../index.ts | 1 + 3 files changed, 132 insertions(+) create mode 100644 src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.hook.tsx create mode 100644 src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.tsx create mode 100644 src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/index.ts diff --git a/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.hook.tsx b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.hook.tsx new file mode 100644 index 00000000..386a7762 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.hook.tsx @@ -0,0 +1,94 @@ +import { useMemo, useState } from 'react' + +import { MoreHorizontalIcon, PencilIcon, Trash2Icon } from 'lucide-react' + +import { DropdownMenu } from '@/core/presentation/components/ui' +import { useDebounce } from '@/core/presentation/hooks' + +import { useGeneralCultivationDiseaseContext } from '../../hooks/general-cultivation-disease-context.hook' +import { useGeneralCultivationDiseasesQuery } from '../../hooks/queries/general-cultivation-diseases-query.hook' + +import type { GeneralCultivationDiseaseModel } from '../../../domain/models/general-cultivation-diseases-model' +import type { GeneralCultivationDiseaseSort } from '../../types/general-cultivation-disease-types' +import type { ColumnDef } from '@tanstack/react-table' + +export function useGeneralCultivationDiseaseDataTable() { + const { + filters, + openEditGeneralCultivationDiseaseForm, + openDeleteGeneralCultivationDiseaseContainer, + } = useGeneralCultivationDiseaseContext() + + const [page, setPage] = useState(1) + const [sort, setSort] = useState() + + const debouncedFilters = useDebounce({ value: filters }) + + const { isLoading, generalCultivationDiseases } = + useGeneralCultivationDiseasesQuery({ + filters: debouncedFilters, + page, + sort, + }) + + const columns = useMemo[]>( + () => [ + { + accessorKey: 'name', + header: 'Nome', + }, + { + id: 'row-actions', + header: '', + cell: ({ row }) => { + const { original: generalCultivationDisease } = row + + return ( + + + + + + + openEditGeneralCultivationDiseaseForm( + generalCultivationDisease + ) + } + > + Editar + + + + openDeleteGeneralCultivationDiseaseContainer( + generalCultivationDisease + ) + } + > + Excluir + + + + ) + }, + }, + ], + [ + openDeleteGeneralCultivationDiseaseContainer, + openEditGeneralCultivationDiseaseForm, + ] + ) + + return { + columns, + generalCultivationDiseases, + isLoading, + page, + sort, + setSort, + setPage, + } +} diff --git a/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.tsx b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.tsx new file mode 100644 index 00000000..9b5480ae --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/general-cultivation-disease-data-table.tsx @@ -0,0 +1,37 @@ +import { DataTable } from '@/core/presentation/components/ui' + +import { useGeneralCultivationDiseaseDataTable } from './general-cultivation-disease-data-table.hook' + +import type { GeneralCultivationDiseaseModel } from '../../../domain/models/general-cultivation-diseases-model' + +export function GeneralCultivationDiseaseDataTable() { + const { + columns, + generalCultivationDiseases, + isLoading, + page, + sort, + setSort, + setPage, + } = useGeneralCultivationDiseaseDataTable() + + return ( + + columns={columns} + data={generalCultivationDiseases.resources} + totalPages={generalCultivationDiseases.totalPages} + pagination={{ + currentPage: page, + onPageChange: setPage, + }} + sorting={{ + currentSorting: sort, + onSorting: setSort, + }} + loading={isLoading} + /> + ) +} + +GeneralCultivationDiseaseDataTable.displayName = + 'GeneralCultivationDiseaseDataTable' diff --git a/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/index.ts b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/index.ts new file mode 100644 index 00000000..243a4340 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-data-table/index.ts @@ -0,0 +1 @@ +export * from './general-cultivation-disease-data-table' From 5a86b3d06fe0fa6062ba7cd1dcf223bb5e6a76c9 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:27:04 -0300 Subject: [PATCH 05/10] feat: add delete dialog --- ...eral-cultivation-disease-delete-dialog.tsx | 83 +++++++++++++++++++ .../index.ts | 1 + 2 files changed, 84 insertions(+) create mode 100644 src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/general-cultivation-disease-delete-dialog.tsx create mode 100644 src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/index.ts diff --git a/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/general-cultivation-disease-delete-dialog.tsx b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/general-cultivation-disease-delete-dialog.tsx new file mode 100644 index 00000000..8396c431 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/general-cultivation-disease-delete-dialog.tsx @@ -0,0 +1,83 @@ +import { useCallback } from 'react' + +import { useMutation, useQueryClient } from '@tanstack/react-query' +import toast from 'react-hot-toast' + +import { AlertDialog } from '@/core/presentation/components/ui' + +import { makeRemoteDeleteGeneralCultivationDiseaseUseCase } from '../../../main/factories/use-cases/general-cultivation-diseases-use-cases' +import { useGeneralCultivationDiseaseContext } from '../../hooks/general-cultivation-disease-context.hook' + +export function GeneralCultivationDiseaseDeleteDialog() { + const deleteGeneralCultivationDiseaseUseCase = + makeRemoteDeleteGeneralCultivationDiseaseUseCase() + + const { + selectedGeneralCultivationDisease, + isOpenDeleteGeneralCultivationDiseaseContainer, + closeDeleteGeneralCultivationDiseaseContainer, + } = useGeneralCultivationDiseaseContext() + + const queryClient = useQueryClient() + + const { mutateAsync: mutateHandleDeleteGeneralCultivationDisease } = + useMutation({ + mutationFn: deleteGeneralCultivationDiseaseUseCase.execute, + }) + + const handleDeleteGeneralCultivationDisease = useCallback(async () => { + if (!selectedGeneralCultivationDisease) { + toast.error('Erro ao remover doença de cultivo geral') + return + } + + try { + await mutateHandleDeleteGeneralCultivationDisease({ + id: selectedGeneralCultivationDisease.id, + }) + + queryClient.invalidateQueries({ + queryKey: ['general-cultivation-diseases'], + exact: false, + }) + + toast.success('Doença de cultivo geral removida com sucesso') + } catch { + toast.error('Erro ao remover doença de cultivo geral') + } finally { + closeDeleteGeneralCultivationDiseaseContainer() + } + }, [ + closeDeleteGeneralCultivationDiseaseContainer, + mutateHandleDeleteGeneralCultivationDisease, + queryClient, + selectedGeneralCultivationDisease, + ]) + + return ( + + + + + {`Deseja remover a doença de cultivo geral ${selectedGeneralCultivationDisease?.name}?`} + + + Não será possível desfazer essa ação! + + + + Cancelar + + Remover + + + + + ) +} + +GeneralCultivationDiseaseDeleteDialog.displayName = + 'GeneralCultivationDiseaseDeleteDialog' diff --git a/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/index.ts b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/index.ts new file mode 100644 index 00000000..e2478170 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/components/general-cultivation-disease-delete-dialog/index.ts @@ -0,0 +1 @@ +export * from './general-cultivation-disease-delete-dialog' From 22d89967f4ad413ae41c4f646a84f46aa2b7c575 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:27:42 -0300 Subject: [PATCH 06/10] feat: add form --- ...reate-general-cultivation-disease-form.tsx | 116 ++++++++++++++ .../edit-general-cultivation-disease-form.tsx | 145 ++++++++++++++++++ ...eneral-cultivation-disease-form-inputs.tsx | 36 +++++ .../general-cultivation-disease-form.tsx | 18 +++ ...l-cultivation-disease-initial-form-data.ts | 6 + .../general-cultivation-disease-form/index.ts | 1 + 6 files changed, 322 insertions(+) create mode 100644 src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/create-general-cultivation-disease-form.tsx create mode 100644 src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/edit-general-cultivation-disease-form.tsx create mode 100644 src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form-inputs.tsx create mode 100644 src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form.tsx create mode 100644 src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-initial-form-data.ts create mode 100644 src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/index.ts diff --git a/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/create-general-cultivation-disease-form.tsx b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/create-general-cultivation-disease-form.tsx new file mode 100644 index 00000000..6161a240 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/create-general-cultivation-disease-form.tsx @@ -0,0 +1,116 @@ +import { useCallback } from 'react' + +import { zodResolver } from '@hookform/resolvers/zod' +import { useMutation, useQueryClient } from '@tanstack/react-query' +import toast from 'react-hot-toast' + +import { + Button, + Form, + ScrollArea, + Sheet, +} from '@/core/presentation/components/ui' +import { useHookForm } from '@/core/presentation/hooks' + +import { makeRemoteCreateGeneralCultivationDiseaseUseCase } from '../../../main/factories/use-cases/general-cultivation-diseases-use-cases' +import { useGeneralCultivationDiseaseContext } from '../../hooks/general-cultivation-disease-context.hook' +import { + generalCultivationDiseaseFormSchema, + type GeneralCultivationDiseaseFormSchema, +} from '../../validations/general-cultivation-disease-form-schema' + +import { GeneralCultivationDiseaseFormInputs } from './general-cultivation-disease-form-inputs' +import { GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA } from './general-cultivation-disease-initial-form-data' + +export function CreateGeneralCultivationDiseaseForm() { + const { + isOpenNewGeneralCultivationDiseaseForm, + closeNewGeneralCultivationDiseaseForm, + } = useGeneralCultivationDiseaseContext() + + const createGeneralCultivationDiseaseUseCase = + makeRemoteCreateGeneralCultivationDiseaseUseCase() + + const queryClient = useQueryClient() + + const form = useHookForm({ + defaultValues: GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA, + resolver: zodResolver(generalCultivationDiseaseFormSchema), + }) + + const { mutateAsync: mutateHandleCreateGeneralCultivationDisease } = + useMutation({ + mutationFn: createGeneralCultivationDiseaseUseCase.execute, + }) + + const handleCreateGeneralCultivationDisease = useCallback( + async (data: GeneralCultivationDiseaseFormSchema) => { + try { + await mutateHandleCreateGeneralCultivationDisease({ + generalCultivationDisease: data, + }) + + queryClient.invalidateQueries({ + queryKey: ['general-cultivation-diseases'], + exact: false, + }) + + toast.success('Doença de cultivo geral foi cadastrada com sucesso') + form.reset(GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA) + closeNewGeneralCultivationDiseaseForm() + } catch { + toast.error('Erro ao cadastrar doença de cultivo geral') + } + }, + [ + closeNewGeneralCultivationDiseaseForm, + form, + mutateHandleCreateGeneralCultivationDisease, + queryClient, + ] + ) + + return ( + + + + Nova Doença + + Preencha o formulário para criar uma nova doença de cultivo geral. + + + + + +
+ + +
+
+ + + + +
+
+ ) +} + +CreateGeneralCultivationDiseaseForm.displayName = + 'CreateGeneralCultivationDiseaseForm' diff --git a/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/edit-general-cultivation-disease-form.tsx b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/edit-general-cultivation-disease-form.tsx new file mode 100644 index 00000000..83478fb8 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/edit-general-cultivation-disease-form.tsx @@ -0,0 +1,145 @@ +import { useCallback } from 'react' + +import { zodResolver } from '@hookform/resolvers/zod' +import { useMutation, useQueryClient } from '@tanstack/react-query' +import toast from 'react-hot-toast' + +import { + Button, + Form, + Loading, + ScrollArea, + Sheet, +} from '@/core/presentation/components/ui' +import { useHookForm } from '@/core/presentation/hooks' + +import { makeRemoteUpdateGeneralCultivationDiseaseUseCase } from '../../../main/factories/use-cases/general-cultivation-diseases-use-cases' +import { useGeneralCultivationDiseaseContext } from '../../hooks/general-cultivation-disease-context.hook' +import { useGeneralCultivationDiseaseQuery } from '../../hooks/queries/general-cultivation-disease-query.hook' +import { + generalCultivationDiseaseFormSchema, + type GeneralCultivationDiseaseFormSchema, +} from '../../validations/general-cultivation-disease-form-schema' + +import { GeneralCultivationDiseaseFormInputs } from './general-cultivation-disease-form-inputs' +import { GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA } from './general-cultivation-disease-initial-form-data' + +export function EditGeneralCultivationDiseaseForm() { + const { + isOpenEditGeneralCultivationDiseaseForm, + closeEditGeneralCultivationDiseaseForm, + selectedGeneralCultivationDisease, + } = useGeneralCultivationDiseaseContext() + + const { isLoading, generalCultivationDisease } = + useGeneralCultivationDiseaseQuery({ + id: selectedGeneralCultivationDisease!.id, + }) + + const updateGeneralCultivationDiseaseUseCase = + makeRemoteUpdateGeneralCultivationDiseaseUseCase() + + const queryClient = useQueryClient() + + const form = useHookForm({ + defaultValues: GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA, + ...(generalCultivationDisease && { + values: { + ...generalCultivationDisease, + }, + }), + resolver: zodResolver(generalCultivationDiseaseFormSchema), + }) + + const { mutateAsync: mutateHandleUpdateGeneralCultivationDisease } = + useMutation({ + mutationFn: updateGeneralCultivationDiseaseUseCase.execute, + }) + + const handleUpdateGeneralCultivationDisease = useCallback( + async (data: GeneralCultivationDiseaseFormSchema) => { + try { + if (!selectedGeneralCultivationDisease) { + toast.error('Erro ao atualizar doença de cultivo geral') + return + } + + await mutateHandleUpdateGeneralCultivationDisease({ + generalCultivationDisease: { + ...data, + id: selectedGeneralCultivationDisease.id, + }, + }) + + queryClient.invalidateQueries({ + queryKey: ['general-cultivation-diseases'], + exact: false, + }) + + toast.success('Doença de cultivo geral foi editada com sucesso') + form.reset(GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA) + closeEditGeneralCultivationDiseaseForm() + } catch { + toast.error('Erro ao salvar alterações') + } + }, + [ + closeEditGeneralCultivationDiseaseForm, + form, + mutateHandleUpdateGeneralCultivationDisease, + queryClient, + selectedGeneralCultivationDisease, + ] + ) + + return ( + + + + + {`Editar Doença ${selectedGeneralCultivationDisease?.name}`} + + + Preencha o formulário para editar a doença de cultivo geral. + + + + +
+ {isLoading ? ( +
+ +
+ ) : ( + + )} + +
+
+ + + + +
+
+ ) +} + +EditGeneralCultivationDiseaseForm.displayName = + 'EditGeneralCultivationDiseaseForm' diff --git a/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form-inputs.tsx b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form-inputs.tsx new file mode 100644 index 00000000..baad8cbc --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form-inputs.tsx @@ -0,0 +1,36 @@ +import { useFormContext } from 'react-hook-form' + +import { Form, Input } from '@/core/presentation/components/ui' + +import type { GeneralCultivationDiseaseFormSchema } from '../../validations/general-cultivation-disease-form-schema' + +export function GeneralCultivationDiseaseFormInputs() { + const form = useFormContext() + + return ( + { + const { error } = fieldState + + return ( + + Nome* + + + + + + ) + }} + /> + ) +} + +GeneralCultivationDiseaseFormInputs.displayName = + 'GeneralCultivationDiseaseFormInputs' diff --git a/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form.tsx b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form.tsx new file mode 100644 index 00000000..8a86c9c6 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-form.tsx @@ -0,0 +1,18 @@ +import { CreateGeneralCultivationDiseaseForm } from './create-general-cultivation-disease-form' +import { EditGeneralCultivationDiseaseForm } from './edit-general-cultivation-disease-form' + +type GeneralCultivationDiseaseFormProps = { + id?: number +} + +export function GeneralCultivationDiseaseForm({ + id, +}: Readonly) { + if (id) { + return + } + + return +} + +GeneralCultivationDiseaseForm.displayName = 'GeneralCultivationDiseaseForm' diff --git a/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-initial-form-data.ts b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-initial-form-data.ts new file mode 100644 index 00000000..6303a4e5 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/general-cultivation-disease-initial-form-data.ts @@ -0,0 +1,6 @@ +import type { GeneralCultivationDiseaseFormSchema } from '../../validations/general-cultivation-disease-form-schema' + +export const GENERAL_CULTIVATION_DISEASE_INITIAL_FORM_DATA: GeneralCultivationDiseaseFormSchema = + { + name: '', + } diff --git a/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/index.ts b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/index.ts new file mode 100644 index 00000000..cf1c8b4f --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/forms/general-cultivation-disease-form/index.ts @@ -0,0 +1 @@ +export * from './general-cultivation-disease-form' From 124af42bd503f2eac96d6a16c2d27f6462ad727d Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:27:59 -0300 Subject: [PATCH 07/10] feat: add screen --- .../general-cultivation-diseases-screen.tsx | 70 +++++++++++++++++++ 1 file changed, 70 insertions(+) create mode 100644 src/app/modules/general-cultivations/presentation/screens/general-cultivation-diseases-screen.tsx diff --git a/src/app/modules/general-cultivations/presentation/screens/general-cultivation-diseases-screen.tsx b/src/app/modules/general-cultivations/presentation/screens/general-cultivation-diseases-screen.tsx new file mode 100644 index 00000000..49fb41b7 --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/screens/general-cultivation-diseases-screen.tsx @@ -0,0 +1,70 @@ +import { Button, Input } from '@/core/presentation/components/ui' + +import { GeneralCultivationDiseaseDataTable } from '../components/general-cultivation-disease-data-table' +import { GeneralCultivationDiseaseDeleteDialog } from '../components/general-cultivation-disease-delete-dialog' +import { + GeneralCultivationDiseaseContext, + GeneralCultivationDiseaseProvider, +} from '../contexts/general-cultivation-disease-context' +import { GeneralCultivationDiseaseForm } from '../forms/general-cultivation-disease-form' + +export function GeneralCultivationDiseasesScreen() { + return ( + + + {({ + filters, + handleChangeFilters, + selectedGeneralCultivationDisease, + isOpenDeleteGeneralCultivationDiseaseContainer, + isOpenNewGeneralCultivationDiseaseForm, + isOpenEditGeneralCultivationDiseaseForm, + openNewGeneralCultivationDiseaseForm, + }) => ( +
+
+ + + { + handleChangeFilters({ + name: { + value: target.value, + type: 'LIKE', + }, + }) + }} + placeholder="Procurar doenças" + /> +
+ + + {selectedGeneralCultivationDisease && + isOpenDeleteGeneralCultivationDiseaseContainer && ( + + )} + + {(isOpenNewGeneralCultivationDiseaseForm || + isOpenEditGeneralCultivationDiseaseForm) && ( + + )} +
+ )} +
+
+ ) +} + +GeneralCultivationDiseasesScreen.displayName = + 'GeneralCultivationDiseasesScreen' From 77be73db384e1c5fc04cd18ebef1e543312112f8 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:28:13 -0300 Subject: [PATCH 08/10] feat: add form validation --- .../general-cultivation-disease-form-schema.ts | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100644 src/app/modules/general-cultivations/presentation/validations/general-cultivation-disease-form-schema.ts diff --git a/src/app/modules/general-cultivations/presentation/validations/general-cultivation-disease-form-schema.ts b/src/app/modules/general-cultivations/presentation/validations/general-cultivation-disease-form-schema.ts new file mode 100644 index 00000000..fccafb0f --- /dev/null +++ b/src/app/modules/general-cultivations/presentation/validations/general-cultivation-disease-form-schema.ts @@ -0,0 +1,11 @@ +import { z } from 'zod' + +export const generalCultivationDiseaseFormSchema = z.object({ + name: z.string().min(1, { + message: 'Nome é obrigatório', + }), +}) + +export type GeneralCultivationDiseaseFormSchema = z.infer< + typeof generalCultivationDiseaseFormSchema +> From 6ef1b716f472fe9114fa6892c53b5ad9d4a8cedb Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:28:28 -0300 Subject: [PATCH 09/10] feat: show on general registrations page --- src/app/pages/general-registrations-page.tsx | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/src/app/pages/general-registrations-page.tsx b/src/app/pages/general-registrations-page.tsx index 1ee65e69..b354003a 100644 --- a/src/app/pages/general-registrations-page.tsx +++ b/src/app/pages/general-registrations-page.tsx @@ -2,6 +2,7 @@ import { useCallback, useMemo, useState, type ReactNode } from 'react' import { Breadcrumb, ScrollArea, Tabs } from '@/core/presentation/components/ui' +import { GeneralCultivationDiseasesScreen } from '../modules/general-cultivations/presentation/screens/general-cultivation-diseases-screen' import { GeneralCultivationsScreen } from '../modules/general-cultivations/presentation/screens/general-cultivations-screen' type Tab = @@ -34,6 +35,11 @@ export function GeneralRegistrationsPage() { name: 'Cultivos Gerais', component: , }, + { + key: 'general-cultivation-diseases', + name: 'Doenças', + component: , + }, ], }, ], From 782b952367ac2f9a50e546db834d2ad360868a32 Mon Sep 17 00:00:00 2001 From: Guilherme Minozzi Date: Fri, 20 Mar 2026 21:42:25 -0300 Subject: [PATCH 10/10] feat(general-cultivations): add diseases module and standardize initial form data --- ...h-initial-data.ts => animal-childbirth-initial-form-data.ts} | 0 .../animal-childbirth-form/create-animal-childbirth-form.tsx | 2 +- .../animal-childbirth-form/edit-animal-childbirth-form.tsx | 2 +- ...-death-initial-data.ts => animal-death-initial-form-data.ts} | 0 .../forms/animal-death-form/create-animal-death-form.tsx | 2 +- .../forms/animal-death-form/edit-animal-death-form.tsx | 2 +- ...ease-initial-data.ts => animal-disease-initial-form-data.ts} | 0 .../forms/animal-disease-form/create-animal-disease-form.tsx | 2 +- .../forms/animal-disease-form/edit-animal-disease-form.tsx | 2 +- ...al-data.ts => animal-heifer-calf-stage-initial-form-data.ts} | 0 .../create-animal-heifer-calf-stage-form.tsx | 2 +- .../edit-animal-heifer-calf-stage-form.tsx | 2 +- ...initial-data.ts => animal-insemination-initial-form-data.ts} | 0 .../create-animal-insemination-form.tsx | 2 +- .../animal-insemination-form/edit-animal-insemination-form.tsx | 2 +- ...tis-initial-data.ts => animal-mastitis-initial-form-data.ts} | 0 .../forms/animal-mastitis-form/create-animal-mastitis-form.tsx | 2 +- .../forms/animal-mastitis-form/edit-animal-mastitis-form.tsx | 2 +- ...n-initial-data.ts => animal-medication-initial-form-data.ts} | 0 .../animal-medication-form/create-animal-medication-form.tsx | 2 +- .../animal-medication-form/edit-animal-medication-form.tsx | 2 +- ...-data.ts => animal-pregnancy-diagnosis-initial-form-data.ts} | 0 .../create-animal-pregnancy-diagnosis-form.tsx | 2 +- .../edit-animal-pregnancy-diagnosis-form.tsx | 2 +- ...ase-initial-data.ts => animal-purchase-initial-form-data.ts} | 0 .../forms/animal-purchase-form/create-animal-purchase-form.tsx | 2 +- .../forms/animal-purchase-form/edit-animal-purchase-form.tsx | 2 +- ...al-sale-initial-data.ts => animal-sale-initial-form-data.ts} | 0 .../forms/animal-sale-form/create-animal-sale-form.tsx | 2 +- .../forms/animal-sale-form/edit-animal-sale-form.tsx | 2 +- .../create-cultivation-disease-form.tsx | 2 +- ...initial-data.ts => cultivation-disease-initial-form-data.ts} | 0 .../cultivation-disease-form/edit-cultivation-disease-form.tsx | 2 +- .../cultivation-pest-form/create-cultivation-pest-form.tsx | 2 +- ...st-initial-data.ts => cultivation-pest-initial-form-data.ts} | 0 .../forms/cultivation-pest-form/edit-cultivation-pest-form.tsx | 2 +- 36 files changed, 24 insertions(+), 24 deletions(-) rename src/app/modules/animals/presentation/forms/animal-childbirth-form/{animal-childbirth-initial-data.ts => animal-childbirth-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-death-form/{animal-death-initial-data.ts => animal-death-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-disease-form/{animal-disease-initial-data.ts => animal-disease-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/{animal-heifer-calf-stage-initial-data.ts => animal-heifer-calf-stage-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-insemination-form/{animal-insemination-initial-data.ts => animal-insemination-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-mastitis-form/{animal-mastitis-initial-data.ts => animal-mastitis-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-medication-form/{animal-medication-initial-data.ts => animal-medication-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/{animal-pregnancy-diagnosis-initial-data.ts => animal-pregnancy-diagnosis-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-purchase-form/{animal-purchase-initial-data.ts => animal-purchase-initial-form-data.ts} (100%) rename src/app/modules/animals/presentation/forms/animal-sale-form/{animal-sale-initial-data.ts => animal-sale-initial-form-data.ts} (100%) rename src/app/modules/cultivations/presentation/forms/cultivation-disease-form/{cultivation-disease-initial-data.ts => cultivation-disease-initial-form-data.ts} (100%) rename src/app/modules/cultivations/presentation/forms/cultivation-pest-form/{cultivation-pest-initial-data.ts => cultivation-pest-initial-form-data.ts} (100%) diff --git a/src/app/modules/animals/presentation/forms/animal-childbirth-form/animal-childbirth-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-childbirth-form/animal-childbirth-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-childbirth-form/animal-childbirth-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-childbirth-form/animal-childbirth-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-childbirth-form/create-animal-childbirth-form.tsx b/src/app/modules/animals/presentation/forms/animal-childbirth-form/create-animal-childbirth-form.tsx index 0ebf54bc..56bf957c 100644 --- a/src/app/modules/animals/presentation/forms/animal-childbirth-form/create-animal-childbirth-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-childbirth-form/create-animal-childbirth-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-childbirth-form-schema' import { AnimalChildbirthFormInputs } from './animal-childbirth-form-inputs' -import { ANIMAL_CHILDBIRTH_INITIAL_FORM_DATA } from './animal-childbirth-initial-data' +import { ANIMAL_CHILDBIRTH_INITIAL_FORM_DATA } from './animal-childbirth-initial-form-data' export function CreateAnimalChildbirthForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-childbirth-form/edit-animal-childbirth-form.tsx b/src/app/modules/animals/presentation/forms/animal-childbirth-form/edit-animal-childbirth-form.tsx index 9dfd6967..94cb34d2 100644 --- a/src/app/modules/animals/presentation/forms/animal-childbirth-form/edit-animal-childbirth-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-childbirth-form/edit-animal-childbirth-form.tsx @@ -23,7 +23,7 @@ import { } from '../../validations/animal-childbirth-form-schema' import { AnimalChildbirthFormInputs } from './animal-childbirth-form-inputs' -import { ANIMAL_CHILDBIRTH_INITIAL_FORM_DATA } from './animal-childbirth-initial-data' +import { ANIMAL_CHILDBIRTH_INITIAL_FORM_DATA } from './animal-childbirth-initial-form-data' export function EditAnimalChildbirthForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-death-form/animal-death-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-death-form/animal-death-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-death-form/animal-death-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-death-form/animal-death-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-death-form/create-animal-death-form.tsx b/src/app/modules/animals/presentation/forms/animal-death-form/create-animal-death-form.tsx index 461c8d34..fb6f7a2c 100644 --- a/src/app/modules/animals/presentation/forms/animal-death-form/create-animal-death-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-death-form/create-animal-death-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-death-form-schema' import { AnimalDeathFormInputs } from './animal-death-form-inputs' -import { ANIMAL_DEATH_INITIAL_FORM_DATA } from './animal-death-initial-data' +import { ANIMAL_DEATH_INITIAL_FORM_DATA } from './animal-death-initial-form-data' export function CreateAnimalDeathForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-death-form/edit-animal-death-form.tsx b/src/app/modules/animals/presentation/forms/animal-death-form/edit-animal-death-form.tsx index 278c3e22..8dd22851 100644 --- a/src/app/modules/animals/presentation/forms/animal-death-form/edit-animal-death-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-death-form/edit-animal-death-form.tsx @@ -23,7 +23,7 @@ import { } from '../../validations/animal-death-form-schema' import { AnimalDeathFormInputs } from './animal-death-form-inputs' -import { ANIMAL_DEATH_INITIAL_FORM_DATA } from './animal-death-initial-data' +import { ANIMAL_DEATH_INITIAL_FORM_DATA } from './animal-death-initial-form-data' export function EditAnimalDeathForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-disease-form/animal-disease-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-disease-form/animal-disease-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-disease-form/animal-disease-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-disease-form/animal-disease-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-disease-form/create-animal-disease-form.tsx b/src/app/modules/animals/presentation/forms/animal-disease-form/create-animal-disease-form.tsx index 40b590a5..4a83573f 100644 --- a/src/app/modules/animals/presentation/forms/animal-disease-form/create-animal-disease-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-disease-form/create-animal-disease-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-disease-form-schema' import { AnimalDiseaseFormInputs } from './animal-disease-form-inputs' -import { ANIMAL_DISEASE_INITIAL_FORM_DATA } from './animal-disease-initial-data' +import { ANIMAL_DISEASE_INITIAL_FORM_DATA } from './animal-disease-initial-form-data' export function CreateAnimalDiseaseForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-disease-form/edit-animal-disease-form.tsx b/src/app/modules/animals/presentation/forms/animal-disease-form/edit-animal-disease-form.tsx index 4c641bbe..1da9f963 100644 --- a/src/app/modules/animals/presentation/forms/animal-disease-form/edit-animal-disease-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-disease-form/edit-animal-disease-form.tsx @@ -23,7 +23,7 @@ import { } from '../../validations/animal-disease-form-schema' import { AnimalDiseaseFormInputs } from './animal-disease-form-inputs' -import { ANIMAL_DISEASE_INITIAL_FORM_DATA } from './animal-disease-initial-data' +import { ANIMAL_DISEASE_INITIAL_FORM_DATA } from './animal-disease-initial-form-data' export function EditAnimalDiseaseForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/animal-heifer-calf-stage-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/animal-heifer-calf-stage-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/animal-heifer-calf-stage-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/animal-heifer-calf-stage-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/create-animal-heifer-calf-stage-form.tsx b/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/create-animal-heifer-calf-stage-form.tsx index 373ca7e9..f069f584 100644 --- a/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/create-animal-heifer-calf-stage-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/create-animal-heifer-calf-stage-form.tsx @@ -22,7 +22,7 @@ import { } from '../../validations/animal-heifer-calf-stage-form-schema' import { AnimalHeiferCalfStageFormInputs } from './animal-heifer-calf-stage-form-inputs' -import { ANIMAL_HEIFER_CALF_STAGE_INITIAL_FORM_DATA } from './animal-heifer-calf-stage-initial-data' +import { ANIMAL_HEIFER_CALF_STAGE_INITIAL_FORM_DATA } from './animal-heifer-calf-stage-initial-form-data' export function CreateAnimalHeiferCalfStageForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/edit-animal-heifer-calf-stage-form.tsx b/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/edit-animal-heifer-calf-stage-form.tsx index 1b3cebe6..210d5c96 100644 --- a/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/edit-animal-heifer-calf-stage-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-heifer-calf-stage-form/edit-animal-heifer-calf-stage-form.tsx @@ -24,7 +24,7 @@ import { } from '../../validations/animal-heifer-calf-stage-form-schema' import { AnimalHeiferCalfStageFormInputs } from './animal-heifer-calf-stage-form-inputs' -import { ANIMAL_HEIFER_CALF_STAGE_INITIAL_FORM_DATA } from './animal-heifer-calf-stage-initial-data' +import { ANIMAL_HEIFER_CALF_STAGE_INITIAL_FORM_DATA } from './animal-heifer-calf-stage-initial-form-data' export function EditAnimalHeiferCalfStageForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-insemination-form/animal-insemination-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-insemination-form/animal-insemination-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-insemination-form/animal-insemination-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-insemination-form/animal-insemination-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-insemination-form/create-animal-insemination-form.tsx b/src/app/modules/animals/presentation/forms/animal-insemination-form/create-animal-insemination-form.tsx index dcc3063f..cae63d57 100644 --- a/src/app/modules/animals/presentation/forms/animal-insemination-form/create-animal-insemination-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-insemination-form/create-animal-insemination-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-insemination-form-schema' import { AnimalInseminationFormInputs } from './animal-insemination-form-inputs' -import { ANIMAL_INSEMINATION_INITIAL_FORM_DATA } from './animal-insemination-initial-data' +import { ANIMAL_INSEMINATION_INITIAL_FORM_DATA } from './animal-insemination-initial-form-data' export function CreateAnimalInseminationForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-insemination-form/edit-animal-insemination-form.tsx b/src/app/modules/animals/presentation/forms/animal-insemination-form/edit-animal-insemination-form.tsx index 91f853a1..f139c9b3 100644 --- a/src/app/modules/animals/presentation/forms/animal-insemination-form/edit-animal-insemination-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-insemination-form/edit-animal-insemination-form.tsx @@ -23,7 +23,7 @@ import { } from '../../validations/animal-insemination-form-schema' import { AnimalInseminationFormInputs } from './animal-insemination-form-inputs' -import { ANIMAL_INSEMINATION_INITIAL_FORM_DATA } from './animal-insemination-initial-data' +import { ANIMAL_INSEMINATION_INITIAL_FORM_DATA } from './animal-insemination-initial-form-data' export function EditAnimalInseminationForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-mastitis-form/animal-mastitis-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-mastitis-form/animal-mastitis-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-mastitis-form/animal-mastitis-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-mastitis-form/animal-mastitis-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-mastitis-form/create-animal-mastitis-form.tsx b/src/app/modules/animals/presentation/forms/animal-mastitis-form/create-animal-mastitis-form.tsx index fec07489..c34427ed 100644 --- a/src/app/modules/animals/presentation/forms/animal-mastitis-form/create-animal-mastitis-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-mastitis-form/create-animal-mastitis-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-mastitis-form-schema' import { AnimalMastitisFormInputs } from './animal-mastitis-form-inputs' -import { ANIMAL_MASTITIS_INITIAL_FORM_DATA } from './animal-mastitis-initial-data' +import { ANIMAL_MASTITIS_INITIAL_FORM_DATA } from './animal-mastitis-initial-form-data' export function CreateAnimalMastitisForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-mastitis-form/edit-animal-mastitis-form.tsx b/src/app/modules/animals/presentation/forms/animal-mastitis-form/edit-animal-mastitis-form.tsx index 57fe4edc..27c4efad 100644 --- a/src/app/modules/animals/presentation/forms/animal-mastitis-form/edit-animal-mastitis-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-mastitis-form/edit-animal-mastitis-form.tsx @@ -23,7 +23,7 @@ import { } from '../../validations/animal-mastitis-form-schema' import { AnimalMastitisFormInputs } from './animal-mastitis-form-inputs' -import { ANIMAL_MASTITIS_INITIAL_FORM_DATA } from './animal-mastitis-initial-data' +import { ANIMAL_MASTITIS_INITIAL_FORM_DATA } from './animal-mastitis-initial-form-data' export function EditAnimalMastitisForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-medication-form/animal-medication-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-medication-form/animal-medication-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-medication-form/animal-medication-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-medication-form/animal-medication-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-medication-form/create-animal-medication-form.tsx b/src/app/modules/animals/presentation/forms/animal-medication-form/create-animal-medication-form.tsx index 1f6c31cc..d1894268 100644 --- a/src/app/modules/animals/presentation/forms/animal-medication-form/create-animal-medication-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-medication-form/create-animal-medication-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-medication-form-schema' import { AnimalMedicationFormInputs } from './animal-medication-form-inputs' -import { ANIMAL_MEDICATION_INITIAL_FORM_DATA } from './animal-medication-initial-data' +import { ANIMAL_MEDICATION_INITIAL_FORM_DATA } from './animal-medication-initial-form-data' export function CreateAnimalMedicationForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-medication-form/edit-animal-medication-form.tsx b/src/app/modules/animals/presentation/forms/animal-medication-form/edit-animal-medication-form.tsx index 1daa7389..b2a10ee4 100644 --- a/src/app/modules/animals/presentation/forms/animal-medication-form/edit-animal-medication-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-medication-form/edit-animal-medication-form.tsx @@ -24,7 +24,7 @@ import { } from '../../validations/animal-medication-form-schema' import { AnimalMedicationFormInputs } from './animal-medication-form-inputs' -import { ANIMAL_MEDICATION_INITIAL_FORM_DATA } from './animal-medication-initial-data' +import { ANIMAL_MEDICATION_INITIAL_FORM_DATA } from './animal-medication-initial-form-data' export function EditAnimalMedicationForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/animal-pregnancy-diagnosis-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/animal-pregnancy-diagnosis-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/animal-pregnancy-diagnosis-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/animal-pregnancy-diagnosis-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/create-animal-pregnancy-diagnosis-form.tsx b/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/create-animal-pregnancy-diagnosis-form.tsx index 023eee0e..d40b7687 100644 --- a/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/create-animal-pregnancy-diagnosis-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/create-animal-pregnancy-diagnosis-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-pregnancy-diagnosis-form-schema' import { AnimalPregnancyDiagnosisFormInputs } from './animal-pregnancy-diagnosis-form-inputs' -import { ANIMAL_PREGNANCY_DIAGNOSIS_INITIAL_FORM_DATA } from './animal-pregnancy-diagnosis-initial-data' +import { ANIMAL_PREGNANCY_DIAGNOSIS_INITIAL_FORM_DATA } from './animal-pregnancy-diagnosis-initial-form-data' export function CreateAnimalPregnancyDiagnosisForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/edit-animal-pregnancy-diagnosis-form.tsx b/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/edit-animal-pregnancy-diagnosis-form.tsx index 52965b07..e82952d2 100644 --- a/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/edit-animal-pregnancy-diagnosis-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-pregnancy-diagnosis-form/edit-animal-pregnancy-diagnosis-form.tsx @@ -22,7 +22,7 @@ import { } from '../../validations/animal-pregnancy-diagnosis-form-schema' import { AnimalPregnancyDiagnosisFormInputs } from './animal-pregnancy-diagnosis-form-inputs' -import { ANIMAL_PREGNANCY_DIAGNOSIS_INITIAL_FORM_DATA } from './animal-pregnancy-diagnosis-initial-data' +import { ANIMAL_PREGNANCY_DIAGNOSIS_INITIAL_FORM_DATA } from './animal-pregnancy-diagnosis-initial-form-data' export function EditAnimalPregnancyDiagnosisForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-purchase-form/animal-purchase-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-purchase-form/animal-purchase-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-purchase-form/animal-purchase-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-purchase-form/animal-purchase-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-purchase-form/create-animal-purchase-form.tsx b/src/app/modules/animals/presentation/forms/animal-purchase-form/create-animal-purchase-form.tsx index a63f7666..e89e11ce 100644 --- a/src/app/modules/animals/presentation/forms/animal-purchase-form/create-animal-purchase-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-purchase-form/create-animal-purchase-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-purchase-form-schema' import { AnimalPurchaseFormInputs } from './animal-purchase-form-inputs' -import { ANIMAL_PURCHASE_INITIAL_FORM_DATA } from './animal-purchase-initial-data' +import { ANIMAL_PURCHASE_INITIAL_FORM_DATA } from './animal-purchase-initial-form-data' export function CreateAnimalPurchaseForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-purchase-form/edit-animal-purchase-form.tsx b/src/app/modules/animals/presentation/forms/animal-purchase-form/edit-animal-purchase-form.tsx index e24c1906..c9e4979d 100644 --- a/src/app/modules/animals/presentation/forms/animal-purchase-form/edit-animal-purchase-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-purchase-form/edit-animal-purchase-form.tsx @@ -24,7 +24,7 @@ import { } from '../../validations/animal-purchase-form-schema' import { AnimalPurchaseFormInputs } from './animal-purchase-form-inputs' -import { ANIMAL_PURCHASE_INITIAL_FORM_DATA } from './animal-purchase-initial-data' +import { ANIMAL_PURCHASE_INITIAL_FORM_DATA } from './animal-purchase-initial-form-data' export function EditAnimalPurchaseForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-sale-form/animal-sale-initial-data.ts b/src/app/modules/animals/presentation/forms/animal-sale-form/animal-sale-initial-form-data.ts similarity index 100% rename from src/app/modules/animals/presentation/forms/animal-sale-form/animal-sale-initial-data.ts rename to src/app/modules/animals/presentation/forms/animal-sale-form/animal-sale-initial-form-data.ts diff --git a/src/app/modules/animals/presentation/forms/animal-sale-form/create-animal-sale-form.tsx b/src/app/modules/animals/presentation/forms/animal-sale-form/create-animal-sale-form.tsx index 3da98110..69b91dbf 100644 --- a/src/app/modules/animals/presentation/forms/animal-sale-form/create-animal-sale-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-sale-form/create-animal-sale-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/animal-sale-form-schema' import { AnimalSaleFormInputs } from './animal-sale-form-inputs' -import { ANIMAL_SALE_INITIAL_FORM_DATA } from './animal-sale-initial-data' +import { ANIMAL_SALE_INITIAL_FORM_DATA } from './animal-sale-initial-form-data' export function CreateAnimalSaleForm() { const { diff --git a/src/app/modules/animals/presentation/forms/animal-sale-form/edit-animal-sale-form.tsx b/src/app/modules/animals/presentation/forms/animal-sale-form/edit-animal-sale-form.tsx index 850b75f4..34d9f232 100644 --- a/src/app/modules/animals/presentation/forms/animal-sale-form/edit-animal-sale-form.tsx +++ b/src/app/modules/animals/presentation/forms/animal-sale-form/edit-animal-sale-form.tsx @@ -24,7 +24,7 @@ import { } from '../../validations/animal-sale-form-schema' import { AnimalSaleFormInputs } from './animal-sale-form-inputs' -import { ANIMAL_SALE_INITIAL_FORM_DATA } from './animal-sale-initial-data' +import { ANIMAL_SALE_INITIAL_FORM_DATA } from './animal-sale-initial-form-data' export function EditAnimalSaleForm() { const { diff --git a/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/create-cultivation-disease-form.tsx b/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/create-cultivation-disease-form.tsx index ce8e362a..73cf911d 100644 --- a/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/create-cultivation-disease-form.tsx +++ b/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/create-cultivation-disease-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/cultivation-disease-form-schema' import { CultivationDiseaseFormInputs } from './cultivation-disease-form-inputs' -import { CULTIVATION_DISEASE_INITIAL_FORM_DATA } from './cultivation-disease-initial-data' +import { CULTIVATION_DISEASE_INITIAL_FORM_DATA } from './cultivation-disease-initial-form-data' export function CreateCultivationDiseaseForm() { const { diff --git a/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/cultivation-disease-initial-data.ts b/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/cultivation-disease-initial-form-data.ts similarity index 100% rename from src/app/modules/cultivations/presentation/forms/cultivation-disease-form/cultivation-disease-initial-data.ts rename to src/app/modules/cultivations/presentation/forms/cultivation-disease-form/cultivation-disease-initial-form-data.ts diff --git a/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/edit-cultivation-disease-form.tsx b/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/edit-cultivation-disease-form.tsx index f74a1973..758067bf 100644 --- a/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/edit-cultivation-disease-form.tsx +++ b/src/app/modules/cultivations/presentation/forms/cultivation-disease-form/edit-cultivation-disease-form.tsx @@ -22,7 +22,7 @@ import { } from '../../validations/cultivation-disease-form-schema' import { CultivationDiseaseFormInputs } from './cultivation-disease-form-inputs' -import { CULTIVATION_DISEASE_INITIAL_FORM_DATA } from './cultivation-disease-initial-data' +import { CULTIVATION_DISEASE_INITIAL_FORM_DATA } from './cultivation-disease-initial-form-data' export function EditCultivationDiseaseForm() { const { diff --git a/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/create-cultivation-pest-form.tsx b/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/create-cultivation-pest-form.tsx index fef27495..8e1d7e9c 100644 --- a/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/create-cultivation-pest-form.tsx +++ b/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/create-cultivation-pest-form.tsx @@ -20,7 +20,7 @@ import { } from '../../validations/cultivation-pest-form-schema' import { CultivationPestFormInputs } from './cultivation-pest-form-inputs' -import { CULTIVATION_PEST_INITIAL_FORM_DATA } from './cultivation-pest-initial-data' +import { CULTIVATION_PEST_INITIAL_FORM_DATA } from './cultivation-pest-initial-form-data' export function CreateCultivationPestForm() { const { diff --git a/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/cultivation-pest-initial-data.ts b/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/cultivation-pest-initial-form-data.ts similarity index 100% rename from src/app/modules/cultivations/presentation/forms/cultivation-pest-form/cultivation-pest-initial-data.ts rename to src/app/modules/cultivations/presentation/forms/cultivation-pest-form/cultivation-pest-initial-form-data.ts diff --git a/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/edit-cultivation-pest-form.tsx b/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/edit-cultivation-pest-form.tsx index b94091c7..0618772a 100644 --- a/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/edit-cultivation-pest-form.tsx +++ b/src/app/modules/cultivations/presentation/forms/cultivation-pest-form/edit-cultivation-pest-form.tsx @@ -22,7 +22,7 @@ import { } from '../../validations/cultivation-pest-form-schema' import { CultivationPestFormInputs } from './cultivation-pest-form-inputs' -import { CULTIVATION_PEST_INITIAL_FORM_DATA } from './cultivation-pest-initial-data' +import { CULTIVATION_PEST_INITIAL_FORM_DATA } from './cultivation-pest-initial-form-data' export function EditCultivationPestForm() { const {