moving styling and views to be more consistent and for gallery view to be less cumbersome.

This commit is contained in:
Bryan Van Deusen
2026-01-19 23:41:36 -05:00
parent 41037696bf
commit 96f72718bd
16 changed files with 2447 additions and 75 deletions
+21 -3
View File
@@ -97,10 +97,28 @@
}
function checkScrollPosition() {
const scrollBottom = window.innerHeight + window.scrollY;
const docHeight = document.documentElement.scrollHeight;
// For masonry layouts, we need to check if the SHORTEST column is near the viewport bottom,
// not the overall page bottom. Otherwise, a tall image in one column prevents loading
// even when other columns have empty space visible.
if (docHeight - scrollBottom < SCROLL_THRESHOLD) {
// First, update accurate column heights
updateColumnHeights();
// Find the shortest column's bottom position relative to viewport
const shortestColumnIndex = getShortestColumnIndex();
const shortestColumn = columns[shortestColumnIndex];
if (!shortestColumn) return;
const columnRect = shortestColumn.getBoundingClientRect();
const columnBottom = columnRect.bottom; // Distance from viewport top to column bottom
const viewportHeight = window.innerHeight;
// If the shortest column's bottom is within SCROLL_THRESHOLD of the viewport bottom, load more
// columnBottom - viewportHeight = how far below the viewport the column extends
// If this is negative or small, the column end is visible or nearly visible
const distanceFromViewportBottom = columnBottom - viewportHeight;
if (distanceFromViewportBottom < SCROLL_THRESHOLD) {
loadMore();
}
}