fix: handle nullable ads data and ensure safe filtering in advertisements
This commit is contained in:
parent
eedb155880
commit
7b4ea17a16
@ -11,7 +11,7 @@ const adResponseSchema = z.object({
|
||||
clicked: z.number(),
|
||||
})
|
||||
const adsResponseSchema = z.object({
|
||||
data: z.array(adResponseSchema),
|
||||
data: z.array(adResponseSchema).nullable(),
|
||||
})
|
||||
|
||||
export type TAdResponse = z.infer<typeof adResponseSchema>
|
||||
|
||||
@ -111,7 +111,7 @@ export const AdvertisementsPage = () => {
|
||||
</div>
|
||||
|
||||
<UiTable
|
||||
data={dataTable}
|
||||
data={dataTable || []}
|
||||
columns={dataColumns}
|
||||
slots={dataSlot}
|
||||
title="Daftar Spanduk Iklan"
|
||||
|
||||
@ -8,7 +8,7 @@ import type { Route } from './+types/_admin.lg-admin._dashboard.advertisements.u
|
||||
export const loader = async ({ params }: Route.LoaderArgs) => {
|
||||
const { data: adsData } = await getAds()
|
||||
const { id } = params
|
||||
const adData = adsData.find((ads) => ads.id === id)
|
||||
const adData = adsData?.find((ads) => ads.id === id)
|
||||
return { adData }
|
||||
}
|
||||
|
||||
|
||||
@ -28,11 +28,13 @@ export const loader = async ({ request }: Route.LoaderArgs) => {
|
||||
const { data: subscribePlanData } = await getSubscribePlan()
|
||||
const { data: categoriesData } = await getCategories()
|
||||
let { data: adsData } = await getAds()
|
||||
adsData = adsData.filter(
|
||||
(ad) =>
|
||||
new Date(ad.start_date) <= new Date() &&
|
||||
new Date(ad.end_date) >= new Date(),
|
||||
)
|
||||
if (adsData) {
|
||||
adsData = adsData?.filter(
|
||||
(ad) =>
|
||||
new Date(ad.start_date) <= new Date() &&
|
||||
new Date(ad.end_date) >= new Date(),
|
||||
)
|
||||
}
|
||||
|
||||
return {
|
||||
userData,
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user