fix: improve inquiry status change and notification refresh
continuous-integration/drone/push Build is passing

Block no-op inquiry status updates, refetch active my-notifications after create, and use the shared error text token on Select validation messages.

Co-authored-by: Cursor <cursoragent@cursor.com>
This commit is contained in:
AmirReza Jamali
2026-07-07 16:09:50 +03:30
parent 5b43741d74
commit 4051cb156c
3 changed files with 16 additions and 5 deletions
+1 -1
View File
@@ -618,7 +618,7 @@ export function Select<T extends FieldValues>(selectProps: PropsType<T>) {
{dropdown}
{error && (
<p className="text-red mt-1.5 text-sm font-medium">
<p className="mt-1.5 text-sm font-medium text-error">
{error.message as string}
</p>
)}
@@ -11,14 +11,12 @@ interface ChangeStatusFormProps {
onSubmit: (data: TChangeInquiryStatusCredentials) => void;
onCancel: () => void;
currentStatus: string;
}
const ChangeStatusForm = ({
onSubmit,
onCancel,
currentStatus,
}: ChangeStatusFormProps) => {
const {
register,
@@ -37,10 +35,19 @@ const ChangeStatusForm = ({
value: status,
}));
const handleStatusSubmit = (data: TChangeInquiryStatusCredentials) => {
if (data.status === currentStatus) return;
onSubmit(data);
};
return (
<form onSubmit={handleSubmit(onSubmit)} className="space-y-4">
<form onSubmit={handleSubmit(handleStatusSubmit)} className="space-y-4">
<Select
{...register("status", { required: "Status is required" })}
{...register("status", {
required: "Status is required",
validate: (value) =>
value !== currentStatus || "Select a different status",
})}
name="status"
label="Status"
items={statusOptions}
@@ -70,6 +70,10 @@ export const useCreateNotificationQuery = (successCallback?: () => void) => {
queryClient.invalidateQueries({
queryKey: [API_ENDPOINTS.NOTIFICATIONS.MY_NOTIFICATIONS],
});
queryClient.refetchQueries({
queryKey: [API_ENDPOINTS.NOTIFICATIONS.MY_NOTIFICATIONS],
type: "active",
});
if (successCallback) {
successCallback();
}