From 44d24d42b8519e1c55b4a770ca640629c0bf2965 Mon Sep 17 00:00:00 2001 From: Dax Raad Date: Wed, 14 Jan 2026 11:25:48 -0500 Subject: [PATCH] ignore: fix auth redirect to preserve selected plan during subscription flow --- .../app/src/routes/black/subscribe/[plan].tsx | 13 +++++++------ 1 file changed, 7 insertions(+), 6 deletions(-) diff --git a/packages/console/app/src/routes/black/subscribe/[plan].tsx b/packages/console/app/src/routes/black/subscribe/[plan].tsx index 5e13799dd..b2b9b32e1 100644 --- a/packages/console/app/src/routes/black/subscribe/[plan].tsx +++ b/packages/console/app/src/routes/black/subscribe/[plan].tsx @@ -18,10 +18,10 @@ import { Billing } from "@opencode-ai/console-core/billing.js" const plansMap = Object.fromEntries(plans.map((p) => [p.id, p])) as Record const stripePromise = loadStripe(import.meta.env.VITE_STRIPE_PUBLISHABLE_KEY!) -const getWorkspaces = query(async () => { +const getWorkspaces = query(async (plan: string) => { "use server" const actor = await getActor() - if (actor.type === "public") throw redirect("/auth/authorize?continue=/black/subscribe") + if (actor.type === "public") throw redirect("/auth/authorize?continue=/black/subscribe/" + plan) return withActor(async () => { return Database.use((tx) => tx @@ -258,15 +258,16 @@ function IntentForm(props: { plan: PlanID; workspaceID: string; onSuccess: (data } export default function BlackSubscribe() { - const workspaces = createAsync(() => getWorkspaces()) + const params = useParams() + const planData = plansMap[(params.plan as PlanID) ?? "20"] ?? plansMap["20"] + const plan = planData.id + + const workspaces = createAsync(() => getWorkspaces(plan)) const [selectedWorkspace, setSelectedWorkspace] = createSignal(undefined) const [success, setSuccess] = createSignal(undefined) const [failure, setFailure] = createSignal(undefined) const [clientSecret, setClientSecret] = createSignal(undefined) const [stripe, setStripe] = createSignal(undefined) - const params = useParams() - const planData = plansMap[(params.plan as PlanID) ?? "20"] ?? plansMap["20"] - const plan = planData.id // Resolve stripe promise once createEffect(() => {