From cbfb8e72cc8e7a947633e47e5fd4e32004b8f180 Mon Sep 17 00:00:00 2001 From: "fredy.siswanto" Date: Sat, 15 Mar 2025 01:08:38 +0700 Subject: [PATCH] feat: prevent basic subscribers from accessing premium news details --- app/routes/_news.detail.$slug.tsx | 13 ++++++------- 1 file changed, 6 insertions(+), 7 deletions(-) diff --git a/app/routes/_news.detail.$slug.tsx b/app/routes/_news.detail.$slug.tsx index 3d0ead4..b3a4685 100644 --- a/app/routes/_news.detail.$slug.tsx +++ b/app/routes/_news.detail.$slug.tsx @@ -18,6 +18,12 @@ export const loader = async ({ request, params }: Route.LoaderArgs) => { const { data: userData } = await getUser({ accessToken }) const { slug } = params const { data: newsDetailData } = await getNewsBySlug({ slug, accessToken }) + if ( + userData.subscribe.subscribe_plan.code === 'basic' && + newsDetailData.is_premium + ) { + return redirect('/') + } const { data: categoriesData } = await getCategories() const beritaCode = 'berita' const beritaCategory = categoriesData.find( @@ -26,13 +32,6 @@ export const loader = async ({ request, params }: Route.LoaderArgs) => { let { data: beritaNews } = await getNews({ categories: [beritaCode] }) beritaNews = beritaNews.filter((news) => new Date(news.live_at) <= new Date()) - if ( - userData.subscribe.subscribe_plan.code === 'basic' && - newsDetailData.is_premium - ) { - return redirect('/') - } - return { newsDetailData, beritaCategory,