feat: refactor ResourceExceptionsPanel and related hooks; remove unused availability logic and simplify resource detail management
This commit is contained in:
@@ -2,7 +2,7 @@ import { useMutation, useQuery, useQueryClient } from '@tanstack/react-query';
|
||||
import { toast } from 'sonner';
|
||||
import { api, ApiError, type ApiResponse } from '../lib/api';
|
||||
import type {
|
||||
HolidayOverride, NationalHoliday, ResourceAvailability,
|
||||
HolidayOverride, NationalHoliday,
|
||||
ResourceCalendarDays, ResourceException, WorkingHoursPayload,
|
||||
} from '../types';
|
||||
|
||||
@@ -27,7 +27,6 @@ export function useResourceCalendar(resourceUuid: string | undefined) {
|
||||
onSuccess: () => {
|
||||
toast.success('شیفتها ذخیره شد');
|
||||
qc.invalidateQueries({ queryKey: key });
|
||||
qc.invalidateQueries({ queryKey: ['resource-availability', resourceUuid] });
|
||||
},
|
||||
onError: (e) => fail(e, 'ذخیرهٔ شیفتها ناموفق بود'),
|
||||
});
|
||||
@@ -41,7 +40,6 @@ export function useResourceExceptions(resourceUuid: string | undefined) {
|
||||
|
||||
const invalidate = () => {
|
||||
qc.invalidateQueries({ queryKey: key });
|
||||
qc.invalidateQueries({ queryKey: ['resource-availability', resourceUuid] });
|
||||
};
|
||||
|
||||
const query = useQuery({
|
||||
@@ -66,17 +64,6 @@ export function useResourceExceptions(resourceUuid: string | undefined) {
|
||||
return { exceptions: query.data?.data ?? [], loading: query.isLoading, create, remove };
|
||||
}
|
||||
|
||||
export function useResourceAvailability(resourceUuid: string | undefined, from: number, to: number) {
|
||||
const query = useQuery({
|
||||
queryKey: ['resource-availability', resourceUuid, from, to],
|
||||
queryFn: () =>
|
||||
api.get<ApiResponse<ResourceAvailability>>(`/api/v1/resource/${resourceUuid}/availability?from=${from}&to=${to}`),
|
||||
enabled: !!resourceUuid,
|
||||
});
|
||||
|
||||
return { availability: query.data?.data, loading: query.isLoading };
|
||||
}
|
||||
|
||||
export function useHolidays(year: number) {
|
||||
const qc = useQueryClient();
|
||||
const key = ['national-holidays', year];
|
||||
|
||||
Reference in New Issue
Block a user