feat: enhance news fetching with pagination and active status filters
This commit is contained in:
@@ -27,12 +27,15 @@ export const loader = async ({}: Route.LoaderArgs) => {
|
||||
|
||||
const spotlightData = getNews({
|
||||
categories: [spotlightCode],
|
||||
active: true,
|
||||
})
|
||||
const beritaData = getNews({
|
||||
categories: [beritaCode],
|
||||
active: true,
|
||||
})
|
||||
const kajianData = getNews({
|
||||
categories: [kajianCode],
|
||||
active: true,
|
||||
})
|
||||
return {
|
||||
spotlightCategory,
|
||||
|
||||
@@ -11,8 +11,7 @@ export const loader = async ({ params }: Route.LoaderArgs) => {
|
||||
const { data: categoriesData } = await getCategories()
|
||||
const { code } = params
|
||||
const categoryData = categoriesData.find((category) => category.code === code)
|
||||
let { data: newsData } = await getNews({ categories: [code] })
|
||||
newsData = newsData.filter((news) => new Date(news.live_at) <= new Date())
|
||||
const newsData = getNews({ categories: [code], active: true })
|
||||
return { categoryData, newsData }
|
||||
}
|
||||
|
||||
|
||||
@@ -15,7 +15,8 @@ export const loader = async ({ request, params }: Route.LoaderArgs) => {
|
||||
const userAgent = request.headers.get('user-agent')
|
||||
const ipAddress =
|
||||
request.headers.get('cf-connecting-ip') ||
|
||||
request.headers.get('x-forwarded-for')
|
||||
request.headers.get('x-forwarded-for') ||
|
||||
'localhost'
|
||||
const { userToken: accessToken } = await handleCookie(request)
|
||||
let userData
|
||||
if (accessToken) {
|
||||
@@ -43,13 +44,12 @@ export const loader = async ({ request, params }: Route.LoaderArgs) => {
|
||||
const beritaCategory = categoriesData.find(
|
||||
(category) => category.code === beritaCode,
|
||||
)
|
||||
let { data: beritaNews } = await getNews({ categories: [beritaCode] })
|
||||
beritaNews = beritaNews.filter((news) => new Date(news.live_at) <= new Date())
|
||||
const beritaData = getNews({ categories: [beritaCode], active: true })
|
||||
|
||||
return {
|
||||
newsDetailData,
|
||||
beritaCategory,
|
||||
beritaNews,
|
||||
beritaData,
|
||||
shouldSubscribe,
|
||||
}
|
||||
}
|
||||
|
||||
@@ -10,7 +10,8 @@ export const action = async ({ request, params }: Route.ActionArgs) => {
|
||||
const userAgent = request.headers.get('user-agent')
|
||||
const ipAddress =
|
||||
request.headers.get('cf-connecting-ip') ||
|
||||
request.headers.get('x-forwarded-for')
|
||||
request.headers.get('x-forwarded-for') ||
|
||||
'localhost'
|
||||
const { userToken: accessToken } = await handleCookie(request)
|
||||
const { id } = params
|
||||
try {
|
||||
|
||||
Reference in New Issue
Block a user