From cd18f30ee007a91fef7d771317cceb3042d32bf1 Mon Sep 17 00:00:00 2001 From: Bryce Kwon Date: Sat, 31 Oct 2026 13:23:06 -0700 Subject: Hand the tab fade to its listeners directly --- assets/cgit.js | 22 +++++++++++----------- 1 file changed, 11 insertions(+), 11 deletions(-) (limited to 'assets') diff --git a/assets/cgit.js b/assets/cgit.js index a22380c..40467a7 100644 --- a/assets/cgit.js +++ b/assets/cgit.js @@ -172,18 +172,18 @@ window.cgit.highlightLines = place_bar; (function () { -function fade_tabs(list) { - var hidden = list.scrollWidth - list.clientWidth; - - // A fractional scroll position can stop a pixel short of either end. - list.classList.toggle("fade-start", list.scrollLeft > 1); - list.classList.toggle("fade-end", list.scrollLeft < hidden - 1); -} - function fit_tabs() { var list = document.querySelector("nav.tabs ul"); var active, list_box, tab_box; + function fade_tabs() { + var hidden = list.scrollWidth - list.clientWidth; + + // A fractional scroll position can stop a pixel short of either end. + list.classList.toggle("fade-start", list.scrollLeft > 1); + list.classList.toggle("fade-end", list.scrollLeft < hidden - 1); + } + if (!list) return; active = list.querySelector("a.active"); @@ -192,9 +192,9 @@ function fit_tabs() { tab_box = active.getBoundingClientRect(); list.scrollLeft += tab_box.left - list_box.left - (list_box.width - tab_box.width) / 2; } - fade_tabs(list); - list.addEventListener("scroll", function () { fade_tabs(list); }, { passive: true }); - window.addEventListener("resize", function () { fade_tabs(list); }, false); + fade_tabs(); + list.addEventListener("scroll", fade_tabs, { passive: true }); + window.addEventListener("resize", fade_tabs, false); } document.addEventListener("DOMContentLoaded", fit_tabs, false); -- cgit