From fef50a53b1fb592668dfa9aade6b110e42aec9a8 Mon Sep 17 00:00:00 2001 From: Manuel <30572287+manuel-rw@users.noreply.github.com> Date: Fri, 28 Mar 2025 21:56:45 +0000 Subject: [PATCH] revert: ssg integration create (#2736) --- .../new/_integration-new-dropdown.tsx | 2 +- .../integrations/new/{[id] => }/page.tsx | 34 ++++++++----------- 2 files changed, 15 insertions(+), 21 deletions(-) rename apps/nextjs/src/app/[locale]/manage/integrations/new/{[id] => }/page.tsx (59%) diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/new/_integration-new-dropdown.tsx b/apps/nextjs/src/app/[locale]/manage/integrations/new/_integration-new-dropdown.tsx index af94f6642..a697b9270 100644 --- a/apps/nextjs/src/app/[locale]/manage/integrations/new/_integration-new-dropdown.tsx +++ b/apps/nextjs/src/app/[locale]/manage/integrations/new/_integration-new-dropdown.tsx @@ -39,7 +39,7 @@ export const IntegrationCreateDropdownContent = () => { {filteredKinds.length > 0 ? ( {filteredKinds.map((kind) => ( - + {getIntegrationName(kind)} diff --git a/apps/nextjs/src/app/[locale]/manage/integrations/new/[id]/page.tsx b/apps/nextjs/src/app/[locale]/manage/integrations/new/page.tsx similarity index 59% rename from apps/nextjs/src/app/[locale]/manage/integrations/new/[id]/page.tsx rename to apps/nextjs/src/app/[locale]/manage/integrations/new/page.tsx index 4622faa1e..dba8e5c1f 100644 --- a/apps/nextjs/src/app/[locale]/manage/integrations/new/[id]/page.tsx +++ b/apps/nextjs/src/app/[locale]/manage/integrations/new/page.tsx @@ -3,55 +3,49 @@ import { Container, Group, Stack, Title } from "@mantine/core"; import { z } from "zod"; import { auth } from "@homarr/auth/next"; +import type { IntegrationKind } from "@homarr/definitions"; import { getIntegrationName, integrationKinds } from "@homarr/definitions"; import { getScopedI18n } from "@homarr/translation/server"; import { IntegrationAvatar } from "@homarr/ui"; import type { validation } from "@homarr/validation"; import { DynamicBreadcrumb } from "~/components/navigation/dynamic-breadcrumb"; -import { NewIntegrationForm } from "../_integration-new-form"; +import { NewIntegrationForm } from "./_integration-new-form"; -interface NewIntegrationByIdPageProps { - params: { - id: string; - }; - searchParams: Partial>; +interface NewIntegrationPageProps { + searchParams: Promise< + Partial> & { + kind: IntegrationKind; + } + >; } -export function generateStaticParams() { - return integrationKinds.map((kind) => ({ - id: kind, - })); -} - -export default async function IntegrationNewByIdPage(props: NewIntegrationByIdPageProps) { - const { id } = props.params; +export default async function IntegrationsNewPage(props: NewIntegrationPageProps) { + const searchParams = await props.searchParams; const session = await auth(); - if (!session?.user.permissions.includes("integration-create")) { notFound(); } - const result = z.enum(integrationKinds).safeParse(id); + const result = z.enum(integrationKinds).safeParse(searchParams.kind); if (!result.success) { notFound(); } const tCreate = await getScopedI18n("integration.page.create"); - const currentKind = result.data; - const dynamicMappings = new Map([[id, getIntegrationName(currentKind)]]); + const currentKind = result.data; return ( <> - + {tCreate("title", { name: getIntegrationName(currentKind) })} - +