catalog and bags
This commit is contained in:
@ -39,9 +39,9 @@ const mockData = Array(12).fill({
|
||||
});
|
||||
|
||||
export default function Catalog() {
|
||||
const ITEMS_PER_PAGE = 12; // Показывать 12 карточек за раз
|
||||
const ITEMS_PER_PAGE = 24; // Показывать 12 карточек за раз
|
||||
const PARTSINDEX_PAGE_SIZE = 25; // Синхронизировано для оптимальной скорости
|
||||
const MAX_BRANDS_DISPLAY = 10; // Сколько брендов показывать изначально
|
||||
const MAX_BRANDS_DISPLAY = 24; // Сколько брендов показывать изначально
|
||||
const [visibleCount, setVisibleCount] = useState(ITEMS_PER_PAGE);
|
||||
const router = useRouter();
|
||||
const { addItem } = useCart();
|
||||
@ -336,12 +336,6 @@ export default function Catalog() {
|
||||
естьЕщеТовары: hasMoreEntities
|
||||
});
|
||||
|
||||
// Если у нас уже достаточно товаров, не загружаем
|
||||
if (currentEntitiesCount >= ITEMS_PER_PAGE) {
|
||||
console.log('✅ Автоподгрузка: достаточно товаров');
|
||||
return;
|
||||
}
|
||||
|
||||
// Даем время на загрузку цен товаров, если их слишком много загружается
|
||||
const loadingCount = accumulatedEntities.filter(entity => {
|
||||
const productForPrice = { id: entity.id, code: entity.code, brand: entity.brand.name };
|
||||
@ -935,6 +929,20 @@ export default function Catalog() {
|
||||
return false;
|
||||
}, [isPartsAPIMode, loadedArticlesCount, filteredArticles.length]);
|
||||
|
||||
useEffect(() => {
|
||||
// Сбросить все состояния при смене каталога или подкатегории
|
||||
setAccumulatedEntities([]);
|
||||
setVisibleEntities([]);
|
||||
setEntitiesWithOffers([]);
|
||||
setEntitiesCache(new Map());
|
||||
setCurrentUserPage(1);
|
||||
setPartsIndexPage(1);
|
||||
setHasMoreEntities(true);
|
||||
setShowEmptyState(false);
|
||||
setIsFilterChanging(false);
|
||||
setVisibleCount(ITEMS_PER_PAGE);
|
||||
}, [catalogId, groupId]);
|
||||
|
||||
if (filtersLoading) {
|
||||
return <div className="py-8 text-center">Загрузка фильтров...</div>;
|
||||
}
|
||||
|
Reference in New Issue
Block a user