From d6ba39159f88b1079031d82eaaa56cf3979c7ed1 Mon Sep 17 00:00:00 2001 From: Joe Au-Yeung <65426560+joeauyeung@users.noreply.github.com> Date: Wed, 28 Aug 2024 08:53:32 -0400 Subject: [PATCH] fix: Move `future/workflow/[workflow]` `getStaticProps` into separate file (#16124) --- .../app/future/workflows/[workflow]/page.tsx | 4 +++- .../workflow-single-view.getStaticProps.tsx | 19 +++++++++++++++++++ 2 files changed, 22 insertions(+), 1 deletion(-) create mode 100644 apps/web/modules/workflows/workflow-single-view.getStaticProps.tsx diff --git a/apps/web/app/future/workflows/[workflow]/page.tsx b/apps/web/app/future/workflows/[workflow]/page.tsx index 9aa90e2f25925d..783071bcc10915 100644 --- a/apps/web/app/future/workflows/[workflow]/page.tsx +++ b/apps/web/app/future/workflows/[workflow]/page.tsx @@ -1,4 +1,4 @@ -import LegacyPage, { getStaticProps } from "@pages/workflows/[workflow]"; +import LegacyPage from "@pages/workflows/[workflow]"; import { withAppDirSsg } from "app/WithAppDirSsg"; import type { PageProps } from "app/_types"; import { _generateMetadata } from "app/_utils"; @@ -7,6 +7,8 @@ import { headers, cookies } from "next/headers"; import { buildLegacyCtx } from "@lib/buildLegacyCtx"; +import { getStaticProps } from "~/workflows/workflow-single-view.getStaticProps"; + export const generateMetadata = async ({ params, searchParams }: PageProps) => { const { workflow } = await getData(buildLegacyCtx(headers(), cookies(), params, searchParams)); return await _generateMetadata( diff --git a/apps/web/modules/workflows/workflow-single-view.getStaticProps.tsx b/apps/web/modules/workflows/workflow-single-view.getStaticProps.tsx new file mode 100644 index 00000000000000..0104997452f09e --- /dev/null +++ b/apps/web/modules/workflows/workflow-single-view.getStaticProps.tsx @@ -0,0 +1,19 @@ +import type { GetStaticProps } from "next"; +import { z } from "zod"; + +const querySchema = z.object({ + workflow: z.string(), +}); + +export const getStaticProps: GetStaticProps = (ctx) => { + const params = querySchema.safeParse(ctx.params); + console.log("Built workflow page:", params); + if (!params.success) return { notFound: true }; + + return { + props: { + workflow: params.data.workflow, + }, + revalidate: 10, // seconds + }; +};