import { notFound } from "next/navigation" import { GetCurrentBlockPage } from "@/lib/graphql/Query/Current/CurrentBlockPage.graphql" import { GetCurrentBlockPageTrackingData } from "@/lib/graphql/Query/Current/CurrentBlockPageTrackingData.graphql" import { request } from "@/lib/graphql/request" import ContentPage from "@/components/Current/ContentPage" import Tracking from "@/components/Current/Tracking" import type { LangParams, PageArgs, UriParams } from "@/types/params" import type { GetCurrentBlockPageData } from "@/types/requests/currentBlockPage" import type { TrackingData } from "@/types/requests/trackingData" export default async function CurrentContentPage({ params, searchParams, }: PageArgs) { try { if (!searchParams.uri) { throw new Error("Bad URI") } const response = await request( GetCurrentBlockPage, { locale: params.lang, url: searchParams.uri, }, { cache: "no-store" } ) if (!response.data?.all_current_blocks_page?.total) { console.log("#### DATA ####") console.log(response.data) console.log("SearchParams URI: ", searchParams.uri) throw new Error("Not found") } // This is currently to be considered a temporary solution to provide the tracking with a few values in english to align with existing reports const pageDataForTracking = await request( GetCurrentBlockPageTrackingData, { uid: response.data.all_current_blocks_page.items[0].system.uid }, { cache: "no-store" } ) const pageData = response.data.all_current_blocks_page.items[0] const trackingData = { lang: params.lang, publishedDate: pageData.system.updated_at, createdDate: pageData.system.created_at, pageId: pageData.system.uid, englishUrl: pageDataForTracking.data?.current_blocks_page.url, } return ( <> ) } catch { return notFound() } }