Compare commits
2 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| 1d6c722cd3 | |||
| 3e48aa23cc |
-1
Submodule Web/pwa-app deleted from da45c25039
+10
-4
@@ -724,7 +724,9 @@
|
||||
// Add this line to define allItems globally
|
||||
let allItems = [];
|
||||
|
||||
const MAIN_ITEMS_PAGE_SIZE = 120;
|
||||
// Dynamic page size: scan viewport/screen size to only load the exact amount needed.
|
||||
const isMobileDevice = window.matchMedia('(max-width: 768px)').matches;
|
||||
const MAIN_ITEMS_PAGE_SIZE = isMobileDevice ? 20 : 120;
|
||||
let mainItemsNextOffset = 0;
|
||||
let mainItemsHasMore = false;
|
||||
let mainItemsLoadingMore = false;
|
||||
@@ -781,10 +783,10 @@
|
||||
styles.flexDirection === 'column';
|
||||
|
||||
const distanceToEnd = isMobileLayout
|
||||
? itemsContainer.scrollHeight - (itemsContainer.scrollTop + itemsContainer.clientHeight)
|
||||
? Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) - (window.scrollY + window.innerHeight)
|
||||
: itemsContainer.scrollWidth - (itemsContainer.scrollLeft + itemsContainer.clientWidth);
|
||||
const prefetchThreshold = isMobileLayout
|
||||
? Math.max(220, itemsContainer.clientHeight * 0.9)
|
||||
? window.innerHeight * 1.5
|
||||
: Math.max(260, itemsContainer.clientWidth * 1.4);
|
||||
if (distanceToEnd > prefetchThreshold) {
|
||||
return;
|
||||
@@ -1167,6 +1169,7 @@
|
||||
|
||||
if (!mainItemsScrollPrefetchBound) {
|
||||
itemsContainer.addEventListener('scroll', maybePrefetchMainItems, { passive: true });
|
||||
window.addEventListener('scroll', maybePrefetchMainItems, { passive: true });
|
||||
mainItemsScrollPrefetchBound = true;
|
||||
}
|
||||
|
||||
@@ -1188,7 +1191,7 @@
|
||||
updateMainItemsLoadingIndicator();
|
||||
});
|
||||
}, {
|
||||
root: itemsContainer,
|
||||
root: isMobileLayout ? null : itemsContainer,
|
||||
threshold: 0.15,
|
||||
rootMargin: isMobileLayout ? '0px 0px 900px 0px' : '0px 900px 0px 0px'
|
||||
});
|
||||
@@ -3561,6 +3564,9 @@
|
||||
margin: 0 !important;
|
||||
padding: 15px !important;
|
||||
scroll-snap-align: none !important;
|
||||
/* Only render when user looks at it (content-visibility virtualizes the DOM) */
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 300px;
|
||||
}
|
||||
|
||||
.item-card:hover {
|
||||
|
||||
@@ -1612,6 +1612,9 @@
|
||||
margin: 0 !important;
|
||||
padding: 15px !important;
|
||||
scroll-snap-align: none !important;
|
||||
/* Only render when user looks at it (content-visibility virtualizes the DOM) */
|
||||
content-visibility: auto;
|
||||
contain-intrinsic-size: auto 300px;
|
||||
}
|
||||
|
||||
.item-card:hover {
|
||||
@@ -3339,7 +3342,9 @@ document.addEventListener('DOMContentLoaded', ()=>{
|
||||
});
|
||||
|
||||
// Function to load items from server
|
||||
const MAIN_ADMIN_ITEMS_PAGE_SIZE = 120;
|
||||
// Dynamic page size: scan viewport/screen size to only load the exact amount needed.
|
||||
const isMobileDevice = window.matchMedia('(max-width: 768px)').matches;
|
||||
const MAIN_ADMIN_ITEMS_PAGE_SIZE = isMobileDevice ? 20 : 120;
|
||||
let mainAdminItemsNextOffset = 0;
|
||||
let mainAdminItemsHasMore = false;
|
||||
let mainAdminItemsLoadingMore = false;
|
||||
@@ -3397,10 +3402,10 @@ document.addEventListener('DOMContentLoaded', ()=>{
|
||||
styles.flexDirection === 'column';
|
||||
|
||||
const distanceToEnd = isMobileLayout
|
||||
? itemsContainer.scrollHeight - (itemsContainer.scrollTop + itemsContainer.clientHeight)
|
||||
? Math.max(document.body.scrollHeight, document.documentElement.scrollHeight) - (window.scrollY + window.innerHeight)
|
||||
: itemsContainer.scrollWidth - (itemsContainer.scrollLeft + itemsContainer.clientWidth);
|
||||
const prefetchThreshold = isMobileLayout
|
||||
? Math.max(220, itemsContainer.clientHeight * 0.9)
|
||||
? window.innerHeight * 1.5
|
||||
: Math.max(260, itemsContainer.clientWidth * 1.4);
|
||||
if (distanceToEnd > prefetchThreshold) {
|
||||
return;
|
||||
@@ -3772,6 +3777,7 @@ document.addEventListener('DOMContentLoaded', ()=>{
|
||||
|
||||
if (!mainAdminItemsScrollPrefetchBound) {
|
||||
itemsContainer.addEventListener('scroll', maybePrefetchMainAdminItems, { passive: true });
|
||||
window.addEventListener('scroll', maybePrefetchMainAdminItems, { passive: true });
|
||||
mainAdminItemsScrollPrefetchBound = true;
|
||||
}
|
||||
|
||||
@@ -3793,7 +3799,7 @@ document.addEventListener('DOMContentLoaded', ()=>{
|
||||
updateMainAdminItemsLoadingIndicator();
|
||||
});
|
||||
}, {
|
||||
root: itemsContainer,
|
||||
root: isMobileLayout ? null : itemsContainer,
|
||||
threshold: 0.15,
|
||||
rootMargin: isMobileLayout ? '0px 0px 900px 0px' : '0px 900px 0px 0px'
|
||||
});
|
||||
|
||||
Reference in New Issue
Block a user