This commit is contained in:
hamid zarghami
2025-12-24 10:53:55 +03:30
parent 85a17e42d1
commit 2f383fb00b
6 changed files with 72 additions and 75 deletions
+34 -35
View File
@@ -1,44 +1,43 @@
import { useState, useMemo } from 'react'
import type { FilterValues } from '@/components/Filters'
import type { GetAdminsParams } from '../types/Types'
import { useState, useMemo } from "react";
import type { FilterValues } from "@/components/Filters";
import type { GetAdminsParams } from "../types/Types";
const DEFAULT_PAGE = 1
const DEFAULT_LIMIT = 10
const DEFAULT_PAGE = 1;
const DEFAULT_LIMIT = 10;
export const useAdminFilters = () => {
const [filters, setFilters] = useState<FilterValues>({})
const [currentPage, setCurrentPage] = useState(DEFAULT_PAGE)
const [limit] = useState(DEFAULT_LIMIT)
const [filters, setFilters] = useState<FilterValues>({});
const [currentPage, setCurrentPage] = useState(DEFAULT_PAGE);
const [limit] = useState(DEFAULT_LIMIT);
const apiParams = useMemo<GetAdminsParams>(() => {
const params: GetAdminsParams = {
page: currentPage,
limit: limit,
}
const apiParams = useMemo<GetAdminsParams>(() => {
const params: GetAdminsParams = {
page: currentPage,
limit: limit,
};
if (filters.search) {
params.search = filters.search
}
return params
}, [filters, currentPage, limit])
const handleFiltersChange = (newFilters: FilterValues) => {
setFilters(newFilters)
setCurrentPage(DEFAULT_PAGE)
if (filters.search) {
params.search = filters.search as string;
}
const handlePageChange = (page: number) => {
setCurrentPage(page)
}
return params;
}, [filters, currentPage, limit]);
return {
filters,
currentPage,
apiParams,
handleFiltersChange,
handlePageChange,
limit,
}
}
const handleFiltersChange = (newFilters: FilterValues) => {
setFilters(newFilters);
setCurrentPage(DEFAULT_PAGE);
};
const handlePageChange = (page: number) => {
setCurrentPage(page);
};
return {
filters,
currentPage,
apiParams,
handleFiltersChange,
handlePageChange,
limit,
};
};
+1 -1
View File
@@ -27,7 +27,7 @@ const CouponsList: FC = () => {
const coupons = useMemo(() => couponsData?.data || [], [couponsData])
const filteredCoupons = useMemo(() => {
const searchValue = (filters.search || '').toLowerCase().trim()
const searchValue = (filters.search as string || '').toLowerCase().trim()
const statusFilter = filters.status || 'all'
const typeFilter = filters.type || 'all'
+1 -1
View File
@@ -51,7 +51,7 @@ const CustomersList: FC = () => {
const customers = useMemo(() => usersData?.data ?? [], [usersData])
const filteredCustomers = useMemo(() => {
const searchValue = (filters.search || '').toLowerCase().trim()
const searchValue = (filters.search as string || '').toLowerCase().trim()
const statusFilter = filters.status || 'all'
return customers.filter((customer) => {
+34 -35
View File
@@ -1,44 +1,43 @@
import { useState, useMemo } from 'react'
import type { FilterValues } from '@/components/Filters'
import type { GetFoodsParams } from '../types/Types'
import { useState, useMemo } from "react";
import type { FilterValues } from "@/components/Filters";
import type { GetFoodsParams } from "../types/Types";
const DEFAULT_PAGE = 1
const DEFAULT_LIMIT = 10
const DEFAULT_PAGE = 1;
const DEFAULT_LIMIT = 10;
export const useFoodFilters = () => {
const [filters, setFilters] = useState<FilterValues>({})
const [currentPage, setCurrentPage] = useState(DEFAULT_PAGE)
const [limit] = useState(DEFAULT_LIMIT)
const [filters, setFilters] = useState<FilterValues>({});
const [currentPage, setCurrentPage] = useState(DEFAULT_PAGE);
const [limit] = useState(DEFAULT_LIMIT);
const apiParams = useMemo<GetFoodsParams>(() => {
const params: GetFoodsParams = {
page: currentPage,
limit: limit,
}
const apiParams = useMemo<GetFoodsParams>(() => {
const params: GetFoodsParams = {
page: currentPage,
limit: limit,
};
if (filters.search) {
params.search = filters.search
}
return params
}, [filters, currentPage, limit])
const handleFiltersChange = (newFilters: FilterValues) => {
setFilters(newFilters)
setCurrentPage(DEFAULT_PAGE)
if (filters.search) {
params.search = filters.search as string;
}
const handlePageChange = (page: number) => {
setCurrentPage(page)
}
return params;
}, [filters, currentPage, limit]);
return {
filters,
currentPage,
apiParams,
handleFiltersChange,
handlePageChange,
limit,
}
}
const handleFiltersChange = (newFilters: FilterValues) => {
setFilters(newFilters);
setCurrentPage(DEFAULT_PAGE);
};
const handlePageChange = (page: number) => {
setCurrentPage(page);
};
return {
filters,
currentPage,
apiParams,
handleFiltersChange,
handlePageChange,
limit,
};
};
@@ -17,7 +17,7 @@ export const usePaymentMethodFilters = () => {
};
if (filters.search) {
params.search = filters.search;
params.search = filters.search as string;
}
return params;
@@ -17,7 +17,7 @@ export const useShipmentMethodFilters = () => {
};
if (filters.search) {
params.search = filters.search;
params.search = filters.search as string;
}
return params;
@@ -41,4 +41,3 @@ export const useShipmentMethodFilters = () => {
limit,
};
};