const router = useRouter()
const { t } = useTranslation(["admin/common"])
const productId = useMemo(() => router.isReady ? (Array.isArray(router.query.id) ? router.query.id[0] : router.query.id) : undefined, [router.isReady, router.query.id])
const { data, status } = trpc.admin.products.findOne.useQuery({
id: +productId!,
}, {
enabled: !!productId
})
const utils = trpc.useContext()
const mutate = trpc.admin.products.update.useMutation({
onSuccess() {
showNotification({
message: t("admin/common:messages.success.edit"),
color: "green"
})
utils.admin.products.getAll.invalidate()
},
onError() {
showNotification({
message: t("admin/common:messages.error.unexpected"),
color: "red"
})
}
})
const form = useForm({
initialValues: data!,
validateInputOnChange: true,
validate: zodResolver(productSchema.update),
})
...
const router = useRouter()
const { t } = useTranslation(["admin/common"])
const productId = useMemo(() => router.isReady ? (Array.isArray(router.query.id) ? router.query.id[0] : router.query.id) : undefined, [router.isReady, router.query.id])
const { data, status } = trpc.admin.products.findOne.useQuery({
id: +productId!,
}, {
enabled: !!productId
})
const utils = trpc.useContext()
const mutate = trpc.admin.products.update.useMutation({
onSuccess() {
showNotification({
message: t("admin/common:messages.success.edit"),
color: "green"
})
utils.admin.products.getAll.invalidate()
},
onError() {
showNotification({
message: t("admin/common:messages.error.unexpected"),
color: "red"
})
}
})
const form = useForm({
initialValues: data!,
validateInputOnChange: true,
validate: zodResolver(productSchema.update),
})
...