diff --git a/src/app/(loading-group)/[organizationSlug]/layout.tsx b/src/app/(loading-group)/[organizationSlug]/layout.tsx index f001dc70..6cd7b812 100644 --- a/src/app/(loading-group)/[organizationSlug]/layout.tsx +++ b/src/app/(loading-group)/[organizationSlug]/layout.tsx @@ -19,8 +19,10 @@ export default async function OrganizationLayout({ children: React.ReactNode; params: Promise<{ organizationSlug: string }>; }) { + let organizationSlug = ""; try { - const { organizationSlug } = await params; + const { organizationSlug: slug } = await params; + organizationSlug = slug; const [org, contentTree] = await Promise.all([ fetchOrganization(decodeURIComponent(organizationSlug)), fetchContentTree(decodeURIComponent(organizationSlug)), @@ -40,8 +42,13 @@ export default async function OrganizationLayout({ ); } catch (error) { if (error instanceof HttpError && error.statusCode === 402) { - redirect(config.billingUrl); + const billingUrl = new URL(config.billingUrl); + billingUrl.searchParams.set("expired", "1"); + if (organizationSlug) { + billingUrl.searchParams.set("orgName", organizationSlug); + } + redirect(billingUrl.toString()); } - redirect("/"); } + redirect("/"); } diff --git a/src/config.ts b/src/config.ts index 5beb3dc2..e544c51a 100644 --- a/src/config.ts +++ b/src/config.ts @@ -47,5 +47,5 @@ export const config = { issueTrackerUrl: process.env.ISSUE_TRACKER_URL || "https://github.com/l3montree-dev/devguard/issues/new/choose", - billingUrl: process.env.BILLING_URL || "https://devguard.org", + billingUrl: process.env.BILLING_URL || "https://devguard.org/trial-expired", };