.
This commit is contained in:
parent
ad06b45f02
commit
ddb94d7f13
@ -14,7 +14,7 @@
|
||||
"dependencies": {
|
||||
"@dnd-kit/core": "^6.1.0",
|
||||
"@dnd-kit/sortable": "^8.0.0",
|
||||
"@hookform/resolvers": "^3.5.0",
|
||||
"@hookform/resolvers": "^3.9.0",
|
||||
"@radix-ui/react-accordion": "^1.1.2",
|
||||
"@radix-ui/react-alert-dialog": "^1.0.5",
|
||||
"@radix-ui/react-aspect-ratio": "^1.0.3",
|
||||
|
||||
@ -12,7 +12,6 @@ import {
|
||||
CardTitle,
|
||||
Form,
|
||||
} from "@/ui";
|
||||
import { joiResolver } from "@hookform/resolvers/joi";
|
||||
|
||||
import { t } from "i18next";
|
||||
import { AlertCircleIcon } from "lucide-react";
|
||||
@ -22,9 +21,8 @@ import { Trans } from "react-i18next";
|
||||
|
||||
import { useUnsavedChangesNotifier } from "@/lib/hooks";
|
||||
import { cn } from "@/lib/utils";
|
||||
import { useToast } from "@/ui/use-toast";
|
||||
import { IUpdateProfile_Request_DTO } from "@shared/contexts";
|
||||
import Joi from "joi";
|
||||
import { toast } from "react-toastify";
|
||||
import { useSettings } from "./hooks";
|
||||
|
||||
type SettingsDataForm = IUpdateProfile_Request_DTO;
|
||||
@ -32,6 +30,7 @@ type SettingsDataForm = IUpdateProfile_Request_DTO;
|
||||
export const SettingsEditor = () => {
|
||||
const [activeSection, setActiveSection] = useState("profile");
|
||||
const { useOne, useUpdate } = useSettings();
|
||||
const { toast } = useToast();
|
||||
|
||||
const { data, status, error: queryError } = useOne();
|
||||
|
||||
@ -56,7 +55,7 @@ export const SettingsEditor = () => {
|
||||
mode: "onBlur",
|
||||
values: data?.dealer,
|
||||
defaultValues,
|
||||
resolver: joiResolver(
|
||||
/*resolver: joiResolver(
|
||||
Joi.object({
|
||||
contact_information: Joi.string().optional().allow(null).allow("").default(""),
|
||||
default_payment_method: Joi.string().optional().allow(null).allow("").default(""),
|
||||
@ -68,7 +67,7 @@ export const SettingsEditor = () => {
|
||||
scale: Joi.number(),
|
||||
}).required(),
|
||||
})
|
||||
),
|
||||
),*/
|
||||
});
|
||||
|
||||
const { formState, reset, getValues, handleSubmit } = form;
|
||||
@ -79,16 +78,17 @@ export const SettingsEditor = () => {
|
||||
});
|
||||
|
||||
const onSubmit: SubmitHandler<SettingsDataForm> = async (data) => {
|
||||
console.log("hola");
|
||||
mutate(data, {
|
||||
onError: (error) => {
|
||||
console.debug(error);
|
||||
toast.error(error.message);
|
||||
toast({ title: "Error", description: error.message });
|
||||
//alert(error.message);
|
||||
},
|
||||
//onSettled: () => {},
|
||||
onSuccess: () => {
|
||||
reset(getValues());
|
||||
toast.success("Ajustes guardados");
|
||||
toast({ description: "Ajustes guardados" });
|
||||
},
|
||||
});
|
||||
};
|
||||
|
||||
@ -1,4 +1,4 @@
|
||||
import { useOne, useSave } from "@/lib/hooks/useDataSource";
|
||||
import { useOne } from "@/lib/hooks/useDataSource";
|
||||
import { TDataSourceError } from "@/lib/hooks/useDataSource/types";
|
||||
import { useDataSource } from "@/lib/hooks/useDataSource/useDataSource";
|
||||
import { useQueryKey } from "@/lib/hooks/useQueryKey";
|
||||
@ -7,6 +7,7 @@ import {
|
||||
IUpdateProfile_Request_DTO,
|
||||
IUpdateProfileResponse_DTO,
|
||||
} from "@shared/contexts";
|
||||
import { useMutation, useQueryClient } from "@tanstack/react-query";
|
||||
|
||||
export type UseSettingsGetParamsType = {
|
||||
enabled?: boolean;
|
||||
@ -28,15 +29,24 @@ export const useSettings = (params?: UseSettingsGetParamsType) => {
|
||||
}),
|
||||
...params,
|
||||
}),
|
||||
useUpdate: () =>
|
||||
useSave<IUpdateProfileResponse_DTO, TDataSourceError, IUpdateProfile_Request_DTO>({
|
||||
useUpdate: () => {
|
||||
const queryClient = useQueryClient();
|
||||
|
||||
return useMutation<IUpdateProfileResponse_DTO, TDataSourceError, IUpdateProfile_Request_DTO>({
|
||||
mutationKey: keys().data().resource("settings").action("one").id("me").params().get(),
|
||||
mutationFn: (data) =>
|
||||
dataSource.updateOne({
|
||||
mutationFn: (data) => {
|
||||
return dataSource.updateOne({
|
||||
resource: "profile",
|
||||
data,
|
||||
id: "",
|
||||
}),
|
||||
}),
|
||||
});
|
||||
},
|
||||
onSuccess: () => {
|
||||
queryClient.invalidateQueries({
|
||||
queryKey: ["data", "default", "settings"],
|
||||
});
|
||||
},
|
||||
});
|
||||
},
|
||||
};
|
||||
};
|
||||
|
||||
Loading…
Reference in New Issue
Block a user