let cachedImageData = []; let isLoading = false; const targetHeight = 200; const spacing = 5; const preloadThreshold = 800; function appendRows(imageBatch) { const $container = $('#mediasContainer'); const containerWidth = $container.width(); let row = []; let rowWidth = 0; $.each(imageBatch, function (_, imgData) { const scaledWidth = targetHeight * imgData.ratio; row.push(imgData); rowWidth += scaledWidth + spacing; if (rowWidth >= containerWidth || imgData === imageBatch[imageBatch.length - 1]) { if (row.length === 1 && imgData === imageBatch[imageBatch.length - 1]) { row.pop(); mediasQueryParams.offset -= 1; return false; } const totalRatio = row.reduce((sum, img) => sum + img.ratio, 0); const adjustedHeight = (containerWidth - spacing * (row.length - 1)) / totalRatio; const $rowDiv = $('