From 16d8d4f4225402df2cc73e89c229764cfb7b0aa9 Mon Sep 17 00:00:00 2001 From: isUnknown Date: Thu, 7 Nov 2024 15:41:13 +0100 Subject: [PATCH] fix closest day --- site/templates/program.php | 20 +++++++++----------- 1 file changed, 9 insertions(+), 11 deletions(-) diff --git a/site/templates/program.php b/site/templates/program.php index bff2c90..b93eb89 100644 --- a/site/templates/program.php +++ b/site/templates/program.php @@ -31,21 +31,19 @@ scrollToNextClosestDate() { const nodes = document.querySelectorAll('.sessions [data-date]'); const today = new Date(); - - const nodesWithDates = Array.from(nodes).map(node => { - const dateStr = node.getAttribute('data-date'); - const date = new Date(dateStr); - return { node, date }; - }).filter(({ date }) => date >= today); + today.setHours(0, 0, 0, 0); // On ne garde que la date - if (nodesWithDates.length === 0) return; - - const nextClosestNode = nodesWithDates.reduce((closest, current) => { - return current.date < closest.date ? current : closest; + const nextNode = Array.from(nodes).find(node => { + const date = new Date(node.getAttribute('data-date')); + date.setHours(0, 0, 0, 0); + return date >= today; }); - nextClosestNode.node.scrollIntoView({ behavior: 'smooth' }); + if (nextNode) { + nextNode.scrollIntoView({ behavior: 'smooth' }); + } }, + getFilter(string) { return string.split('—')[1].trim() }