refactor(useIssues): Улучшен поиск и фильтрация Issues

This commit is contained in:
Андрей Дувакин 2025-06-08 14:37:31 +05:00
parent 0a7fd16a29
commit 76b72dce1c

View File

@ -13,9 +13,8 @@ import {
setCurrentPage,
setEndFilterDate,
setPageSize,
setSearchText,
setViewMode,
setStartFilterDate,
setViewMode
} from "../../../Redux/Slices/lensIssuesSlice.js";
import {getCachedInfo} from "../../../Utils/cachedInfoUtils.js";
import dayjs from "dayjs";
@ -24,7 +23,6 @@ import {useGetNotIssuedLensesQuery} from "../../../Api/lensesApi.js";
const useIssues = () => {
const dispatch = useDispatch();
const {
searchText,
currentPage,
pageSize,
selectedIssue,
@ -34,7 +32,7 @@ const useIssues = () => {
endFilterDate,
} = useSelector(state => state.lensIssuesUI);
const [tempSearchText, setTempSearchText] = useState(searchText);
const [tempSearchText, setTempSearchText] = useState("");
const {
data: issuesData = {issues: [], total_count: 0},
@ -45,7 +43,7 @@ const useIssues = () => {
} = useGetLensIssuesQuery({
page: currentPage,
pageSize,
search: searchText || undefined,
search: tempSearchText || undefined, // Используем tempSearchText напрямую
sortOrder: 'desc',
startDate: startFilterDate ? dayjs(startFilterDate).format('YYYY-MM-DD') : undefined,
endDate: endFilterDate ? dayjs(endFilterDate).format('YYYY-MM-DD') : undefined,
@ -107,18 +105,12 @@ const useIssues = () => {
const handleSetTempSearchText = (value) => {
setTempSearchText(value);
handleSearch();
};
const handleSearch = () => {
dispatch(setSearchText(tempSearchText));
dispatch(setCurrentPage(1));
refetch();
dispatch(setCurrentPage(1)); // Сбрасываем на первую страницу
refetch(); // Обновляем данные при изменении поиска
};
const handleClearSearch = () => {
setTempSearchText('');
dispatch(setSearchText(''));
dispatch(setCurrentPage(1));
refetch();
};
@ -202,8 +194,7 @@ const useIssues = () => {
isLoading,
isError,
isProcessing: isAdding,
searchText,
tempSearchText,
tempSearchText, // Возвращаем только tempSearchText
selectedIssue,
isModalVisible,
viewMode,
@ -220,7 +211,6 @@ const useIssues = () => {
handleAddIssue,
handlePaginationChange,
handleSetTempSearchText,
handleSearch,
handleClearSearch,
handleSetViewMode,
handleCloseModal,