From 38df779ecf3beb1fa76c89f13a64ed08ccf56831 Mon Sep 17 00:00:00 2001 From: amianthus <49116958+SirTenzin@users.noreply.github.com> Date: Thu, 22 Jan 2026 11:29:27 +0000 Subject: [PATCH] =?UTF-8?q?fix:=20=F0=9F=90=9B=20attach=20on=20dashboard?= =?UTF-8?q?=20respects=20success=20url?= MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- .../attach-product/use-attach-body-builder.ts | 25 ++++++++++++++++--- 1 file changed, 21 insertions(+), 4 deletions(-) diff --git a/vite/src/components/forms/attach-product/use-attach-body-builder.ts b/vite/src/components/forms/attach-product/use-attach-body-builder.ts index 80dd698c3..7a60939ee 100644 --- a/vite/src/components/forms/attach-product/use-attach-body-builder.ts +++ b/vite/src/components/forms/attach-product/use-attach-body-builder.ts @@ -1,6 +1,7 @@ import { AppEnv, type ProductV2, UsageModel } from "@autumn/shared"; import Decimal from "decimal.js"; import { useMemo } from "react"; +import { useOrg } from "@/hooks/common/useOrg"; import { useProductsQuery } from "@/hooks/queries/useProductsQuery"; import { useHasChanges, useProductStore } from "@/hooks/stores/useProductStore"; import { useEntity } from "@/hooks/stores/useSubscriptionStore"; @@ -17,6 +18,7 @@ interface AttachBodyBuilderParams { version?: number; useInvoice?: boolean; enableProductImmediately?: boolean; + successUrl?: string; } /** @@ -29,6 +31,7 @@ export function useAttachBodyBuilder(params: AttachBodyBuilderParams = {}) { const storeProduct = useProductStore((s) => s.product); const { entityId: storeEntityId } = useEntity(); const env = useEnv(); + const { org, isLoading: isOrgLoading, error: orgError } = useOrg(); // Memoized builder function that can be called with runtime params const buildAttachBody = useMemo( @@ -94,12 +97,26 @@ export function useAttachBodyBuilder(params: AttachBodyBuilderParams = {}) { useInvoice: mergedParams.useInvoice, enableProductImmediately: mergedParams.enableProductImmediately, successUrl: - env === AppEnv.Sandbox - ? `${import.meta.env.VITE_FRONTEND_URL}${redirectUrl}` - : undefined, + // env === AppEnv.Sandbox + // ? `${import.meta.env.VITE_FRONTEND_URL}${redirectUrl}` + // : undefined, + org?.success_url && !isOrgLoading && !orgError + ? org.success_url + : env === AppEnv.Sandbox + ? `${import.meta.env.VITE_FRONTEND_URL}${redirectUrl}` + : undefined, }); }, - [products, hasChanges, storeProduct, storeEntityId, params], + [ + products, + hasChanges, + storeProduct, + storeEntityId, + params, + org, + isOrgLoading, + orgError, + ], ); // For simple usage, return the built body with current params