fix: refactor tracking requests

This commit is contained in:
Christel Westerberg
2024-07-15 13:35:00 +02:00
parent c7446032fe
commit 183e1cd6d2
14 changed files with 74 additions and 163 deletions

View File

@@ -12,16 +12,14 @@ import type { LangParams, PageArgs } from "@/types/params"
export default async function MyPages({
params,
}: PageArgs<LangParams & { path: string[] }>) {
const accountPage = await serverClient().contentstack.accountPage.get()
const accountPageRes = await serverClient().contentstack.accountPage.get()
const { formatMessage } = await getIntl()
if (!accountPage) {
if (!accountPageRes) {
return null
}
const accountPageTracking = serverClient().contentstack.accountPage.tracking()
const userTrackingData = serverClient().user.tracking()
const { tracking, accountPage } = accountPageRes
return (
<main className={styles.blocks}>
<Title>{accountPage.heading}</Title>
@@ -30,10 +28,7 @@ export default async function MyPages({
) : (
<p>{formatMessage({ id: "No content published" })}</p>
)}
<TrackingSDK
pageDataPromise={accountPageTracking}
userDataPromise={userTrackingData}
/>
<TrackingSDK pageData={tracking} />
</main>
)
}

View File

@@ -5,13 +5,11 @@ import { serverClient } from "@/lib/trpc/server"
import TrackingSDK from "@/components/TrackingSDK"
export default async function ProfilePage() {
const accountPageTracking = serverClient().contentstack.accountPage.tracking()
const userTrackingData = serverClient().user.tracking()
const accountPage = await serverClient().contentstack.accountPage.get()
return (
<TrackingSDK
pageDataPromise={accountPageTracking}
userDataPromise={userTrackingData}
/>
)
if (!accountPage) {
return null
}
return <TrackingSDK pageData={accountPage.tracking} />
}

View File

@@ -8,6 +8,7 @@ import TrpcProvider from "@/lib/trpc/Provider"
import AdobeSDKScript from "@/components/Current/AdobeSDKScript"
import Footer from "@/components/Current/Footer"
import VwoScript from "@/components/Current/VwoScript"
import { preloadUserTracking } from "@/components/TrackingSDK"
import { getIntl } from "@/i18n"
import ServerIntlProvider from "@/i18n/Provider"
@@ -29,6 +30,8 @@ export default async function RootLayout({
header: React.ReactNode
}
>) {
preloadUserTracking()
const { defaultLocale, locale, messages } = await getIntl()
return (
<html lang={params.lang}>