import { zodResolver } from "@hookform/resolvers/zod" import { Button, Input } from "@medusajs/ui" import { useForm } from "react-hook-form" import { useTranslation } from "react-i18next" import * as zod from "zod" import { HttpTypes } from "@medusajs/types" import { Form } from "../../../../../components/common/form" import { RouteDrawer, useRouteModal } from "../../../../../components/modals" import { KeyboundForm } from "../../../../../components/utilities/keybound-form" import { useUpdateUser } from "../../../../../hooks/api/users" type EditUserFormProps = { user: HttpTypes.AdminUser } const EditUserFormSchema = zod.object({ first_name: zod.string().optional(), last_name: zod.string().optional(), }) export const EditUserForm = ({ user }: EditUserFormProps) => { const { t } = useTranslation() const { handleSuccess } = useRouteModal() const form = useForm>({ defaultValues: { first_name: user.first_name || "", last_name: user.last_name || "", }, resolver: zodResolver(EditUserFormSchema), }) const { mutateAsync, isPending } = useUpdateUser(user.id) const handleSubmit = form.handleSubmit(async (values) => { await mutateAsync(values, { onSuccess: () => { handleSuccess() }, }) }) return ( { return ( {t("fields.firstName")} ) }} /> { return ( {t("fields.lastName")} ) }} />
) }