28 lines
771 B
TypeScript
Raw Normal View History

"use client";
import { useCallback } from "react";
import { accountService } from "@/features/account/services/account.service";
import {
addressFormSchema,
addressFormToRequest,
type AddressFormData
} from "@customer-portal/domain";
import { useZodForm } from "@customer-portal/validation";
export function useAddressEdit(initial: AddressFormData) {
const handleSave = useCallback(async (formData: AddressFormData) => {
try {
const requestData = addressFormToRequest(formData);
await accountService.updateAddress(requestData);
} catch (error) {
throw error; // Let useZodForm handle the error state
}
}, []);
return useZodForm({
schema: addressFormSchema,
initialValues: initial,
onSubmit: handleSave,
});
}