Place advertisements strategically between articles on the homepage

Adjusted the home page layout logic to insert advertisements exclusively into rows containing only articles, specifically every second such row, ensuring they are not positioned adjacent to any widgets.

Replit-Commit-Author: Agent
Replit-Commit-Session-Id: 517dfa7b-26ac-463d-a6e1-a58c6df97188
Replit-Commit-Checkpoint-Type: full_checkpoint
Replit-Commit-Event-Id: 7dc1a9d6-6a76-4cb1-9abc-78b266bde261
Replit-Commit-Screenshot-Url: https://storage.googleapis.com/screenshot-production-us-central1/f209e72a-0939-48fa-84fc-57854de71967/517dfa7b-26ac-463d-a6e1-a58c6df97188/nFw7xof
Replit-Helium-Checkpoint-Created: true
This commit is contained in:
sebastjanartic 2026-03-02 17:53:50 +00:00
parent c02d93cad8
commit fdf2c210ab

View File

@ -491,30 +491,20 @@ export default function Home() {
} }
const totalRows = items.length / 4; const totalRows = items.length / 4;
const widgetRowSet = new Set<number>(); let adCount = 0;
const articleOnlyRows: number[] = [];
for (let row = 0; row < totalRows; row++) { for (let row = 0; row < totalRows; row++) {
const rowStart = row * 4; const rowStart = row * 4;
const rowItems = items.slice(rowStart, rowStart + 4); const rowItems = items.slice(rowStart, rowStart + 4);
if (rowItems.some((it) => it.type === "widget")) { if (rowItems.every((it) => it.type === "article")) {
widgetRowSet.add(row); articleOnlyRows.push(row);
} }
} }
for (let i = 0; i < articleOnlyRows.length && adCount < 4; i += 2) {
let adCount = 0; const row = articleOnlyRows[i];
for (let row = 0; row < totalRows && adCount < 4; row++) {
if (widgetRowSet.has(row)) continue;
if (widgetRowSet.has(row + 1)) continue;
if (widgetRowSet.has(row - 1)) continue;
const rowStart = row * 4; const rowStart = row * 4;
const rowItems = items.slice(rowStart, rowStart + 4); items[rowStart] = { type: "ad", key: `ad-${adCount}` };
const articleIndices = rowItems adCount++;
.map((it, ci) => (it.type === "article" ? ci : -1))
.filter((ci) => ci >= 0);
if (articleIndices.length > 0) {
const col = articleIndices[0];
items[rowStart + col] = { type: "ad", key: `ad-${adCount}` };
adCount++;
}
} }
return items; return items;