From ea5da5566941a14746391cda3fc5a43dca32dd0f Mon Sep 17 00:00:00 2001
From: defiQUG
Date: Thu, 30 Jul 2026 20:42:40 -0700
Subject: [PATCH] Fix GFTD portal routing and copy
---
.../marketplace/entitlements/[slug]/page.tsx | 29 +++++++++++++++++--
portal/src/app/marketplace/page.tsx | 4 +--
portal/src/lib/gftd-marketplace.ts | 7 ++++-
3 files changed, 35 insertions(+), 5 deletions(-)
diff --git a/portal/src/app/marketplace/entitlements/[slug]/page.tsx b/portal/src/app/marketplace/entitlements/[slug]/page.tsx
index e94d6fb..e7d3cee 100644
--- a/portal/src/app/marketplace/entitlements/[slug]/page.tsx
+++ b/portal/src/app/marketplace/entitlements/[slug]/page.tsx
@@ -44,7 +44,10 @@ export default function MarketplaceEntitlementPage() {
const [message, setMessage] = useState(null);
const [error, setError] = useState(null);
- const partnerMeta = [...partnerStackServices, gftdMarketplaceService].find((s) => s.href?.includes(slug));
+ const marketplaceServices = [...partnerStackServices, gftdMarketplaceService];
+ const partnerMeta = marketplaceServices.find(
+ (s) => s.href?.includes(slug) || ('productSlug' in s && s.productSlug === slug)
+ );
const isGftd = slug === 'phoenix-gftd-directory';
const loadProduct = useCallback(async () => {
@@ -151,6 +154,25 @@ export default function MarketplaceEntitlementPage() {
{product?.shortDescription || product?.description || partnerMeta?.description}
+ {isGftd ? (
+
+
+ Review GFTD listing
+
+
+ Public docs
+
+
+ ) : null}
+
{isGftd ? (
@@ -236,7 +258,10 @@ export default function MarketplaceEntitlementPage() {
) : hasActive ? (
Active entitlements: {activeKeys.join(', ')}
) : hasPending ? (
- Pending operator activation.
+
+ Pending operator activation. Use the landing page to review the tier and guardrail summary
+ before the workspace request is approved.
+
) : (