From b57665720f50e259fb960493f72075f92e26883b Mon Sep 17 00:00:00 2001 From: Carter McBride <18412686+carterworks@users.noreply.github.com> Date: Fri, 23 Aug 2024 11:02:41 -0600 Subject: [PATCH] Add filter for recent items --- src/pages/index.astro | 26 ++++++++++++++++++++++---- 1 file changed, 22 insertions(+), 4 deletions(-) diff --git a/src/pages/index.astro b/src/pages/index.astro index ee0fc5b..4681306 100644 --- a/src/pages/index.astro +++ b/src/pages/index.astro @@ -1,11 +1,20 @@ --- import getAllFeedItems from "../services/feeds"; +function isRecent(date: number): boolean { + const now = Date.now(); + const sixHours = 6 * 60 * 60 * 1000; + return now - date < sixHours; +} + const feedItems = await getAllFeedItems(); +const recentCount = feedItems.contents.filter((item) => + isRecent(item.pubIsoDate), +).length; const categories = Array.from( new Set(feedItems.contents.map((item) => item.category)), ).sort(); -const categoriesSelectorCss = categories +const categoriesSelectorCss = ["Recent", ...categories] .map( (c) => ` #category-picker:has(#${c}:checked) ~ main ul { @@ -35,7 +44,9 @@ const categoriesSelectorCss = categories

📰 Carter's RSS Feeds

- {feedItems.contents.length} item(s) | {feedItems.errors.length} error(s) + {recentCount} recent item(s) | {feedItems.contents.length} item(s) | { + feedItems.errors.length + } error(s)