From fc23f458546e03ded5dcd035a4d981b2929aa3e1 Mon Sep 17 00:00:00 2001 From: Ardeman Date: Fri, 14 Mar 2025 12:57:59 +0800 Subject: [PATCH] feat: filter news data to only include items with a live_at date in the past --- app/routes/_news._index.tsx | 11 ++++++++--- app/routes/_news.category.$code.tsx | 3 ++- app/routes/_news.detail.$slug.tsx | 3 ++- 3 files changed, 12 insertions(+), 5 deletions(-) diff --git a/app/routes/_news._index.tsx b/app/routes/_news._index.tsx index 2a10664..7fff202 100644 --- a/app/routes/_news._index.tsx +++ b/app/routes/_news._index.tsx @@ -13,19 +13,24 @@ export const loader = async ({}: Route.LoaderArgs) => { const spotlightCategory = categoriesData.find( (category) => category.code === spotlightCode, ) - const { data: spotlightNews } = await getNews({ categories: [spotlightCode] }) + let { data: spotlightNews } = await getNews({ categories: [spotlightCode] }) + spotlightNews = spotlightNews.filter( + (news) => new Date(news.live_at) <= new Date(), + ) const beritaCode = 'berita' const beritaCategory = categoriesData.find( (category) => category.code === beritaCode, ) - const { data: beritaNews } = await getNews({ categories: [beritaCode] }) + let { data: beritaNews } = await getNews({ categories: [beritaCode] }) + beritaNews = beritaNews.filter((news) => new Date(news.live_at) <= new Date()) const kajianCode = 'kajian' const kajianCategory = categoriesData.find( (category) => category.code === kajianCode, ) - const { data: kajianNews } = await getNews({ categories: [kajianCode] }) + let { data: kajianNews } = await getNews({ categories: [kajianCode] }) + kajianNews = kajianNews.filter((news) => new Date(news.live_at) <= new Date()) return { spotlightCategory, diff --git a/app/routes/_news.category.$code.tsx b/app/routes/_news.category.$code.tsx index f751714..a472132 100644 --- a/app/routes/_news.category.$code.tsx +++ b/app/routes/_news.category.$code.tsx @@ -11,7 +11,8 @@ export const loader = async ({ params }: Route.LoaderArgs) => { const { data: categoriesData } = await getCategories() const { code } = params const categoryData = categoriesData.find((category) => category.code === code) - const { data: newsData } = await getNews({ categories: [code] }) + let { data: newsData } = await getNews({ categories: [code] }) + newsData = newsData.filter((news) => new Date(news.live_at) <= new Date()) return { categoryData, newsData } } diff --git a/app/routes/_news.detail.$slug.tsx b/app/routes/_news.detail.$slug.tsx index 0478079..6b5fd4a 100644 --- a/app/routes/_news.detail.$slug.tsx +++ b/app/routes/_news.detail.$slug.tsx @@ -18,7 +18,8 @@ export const loader = async ({ request, params }: Route.LoaderArgs) => { const beritaCategory = categoriesData.find( (category) => category.code === beritaCode, ) - const { data: beritaNews } = await getNews({ categories: [beritaCode] }) + let { data: beritaNews } = await getNews({ categories: [beritaCode] }) + beritaNews = beritaNews.filter((news) => new Date(news.live_at) <= new Date()) return { newsDetailData,