diff --git a/viz/app/search_page.js b/viz/app/search_page.js index 6a31af4..c6ab22f 100644 --- a/viz/app/search_page.js +++ b/viz/app/search_page.js @@ -97,12 +97,26 @@ export function renderSearch($app) { return; } - const half = Math.ceil(stores.length / 2); + const totalChars = stores.reduce((n, s) => n + s.length, 0); + const target = totalChars / 2; + + let acc = 0; + let breakAt = stores.length; + + for (let i = 0; i < stores.length; i++) { + acc += stores[i].length; + if (acc >= target) { + breakAt = i + 1; + break; + } + } $stores.innerHTML = stores .map((s, i) => { const btn = `${esc(s)}`; - const brk = i === half - 1 && stores.length > 1 ? `` : ""; + const brk = i === breakAt - 1 && stores.length > 1 + ? `` + : ""; return btn + brk; }) .join("");