From 84f5eeb450c1e2629958f60747bccec622be853f Mon Sep 17 00:00:00 2001 From: majakomel Date: Wed, 29 Jul 2026 21:12:00 +0200 Subject: [PATCH] Fix findings structured data --- pages/findings/[id].js | 22 +++++++++------------- 1 file changed, 9 insertions(+), 13 deletions(-) diff --git a/pages/findings/[id].js b/pages/findings/[id].js index 6caada43..87201dc3 100644 --- a/pages/findings/[id].js +++ b/pages/findings/[id].js @@ -5,7 +5,6 @@ import NotFound from 'components/NotFound' import FindingDisplay from 'components/findings/FindingDisplay' import StructuredData from 'components/StructuredData' import { getFindingStructuredData } from 'lib/findingStructuredData' -import { useMemo } from 'react' import { useIntl } from 'react-intl' export const getServerSideProps = async ({ query, req }) => { @@ -13,29 +12,26 @@ export const getServerSideProps = async ({ query, req }) => { apiEndpoints.SHOW_INCIDENT.replace(':id', query.id), ).catch(() => null) + const canonicalUrl = `${process.env.NEXT_PUBLIC_EXPLORER_URL}/findings/${query.id}` + return { props: { data, - canonicalUrl: `${process.env.NEXT_PUBLIC_EXPLORER_URL}/findings/${query.id}`, + canonicalUrl, + structuredData: data?.incident + ? getFindingStructuredData(data.incident, canonicalUrl) + : null, isEmbeddedView: !!req.headers['enable-embedded-view'] || !!query?.webview, }, } } -const ReportView = ({ data, canonicalUrl }) => { +const ReportView = ({ data, canonicalUrl, structuredData }) => { const intl = useIntl() const metaTitle = `${!!data?.incident?.title && `${data?.incident?.title} | `}${intl.formatMessage({ id: 'General.OoniExplorer' })}` const metaDescription = data?.incident?.short_description - const findingStructuredData = useMemo(() => { - if (!data?.incident) { - return null - } - - return getFindingStructuredData(data.incident, canonicalUrl) - }, [canonicalUrl, data?.incident]) - return ( <> @@ -54,8 +50,8 @@ const ReportView = ({ data, canonicalUrl }) => { content={metaDescription} /> - {findingStructuredData && ( - + {structuredData && ( + )}