From 477cf7300556a5a572c4bef0317374287ed46565 Mon Sep 17 00:00:00 2001 From: defiQUG Date: Mon, 15 Jun 2026 17:13:39 -0700 Subject: [PATCH] Add prominent counsel-return CTA to institutional compliance hub. Splits counsel portals into a dedicated panel and syncs manifest with Gitea issue template URL. Co-authored-by: Cursor --- .../corporate/InstitutionalComplianceHub.tsx | 76 +++++++++++++++---- .../src/data/institutional-ux.generated.json | 4 +- 2 files changed, 63 insertions(+), 17 deletions(-) diff --git a/portal/src/components/corporate/InstitutionalComplianceHub.tsx b/portal/src/components/corporate/InstitutionalComplianceHub.tsx index 3bfd9ae..8ffb854 100644 --- a/portal/src/components/corporate/InstitutionalComplianceHub.tsx +++ b/portal/src/components/corporate/InstitutionalComplianceHub.tsx @@ -1,9 +1,10 @@ -import { ArrowRight, Building2, Globe2, Scale, ShieldAlert } from 'lucide-react'; +import { ArrowRight, Building2, FileText, Globe2, Scale, ShieldAlert } from 'lucide-react'; import Link from 'next/link'; import { institutionalUx, jurisdictionStatusClass, + type InstitutionalPortal, type JurisdictionCard, type LegalTrack, type OnboardingStep, @@ -13,6 +14,9 @@ export function InstitutionalComplianceHub() { const { disclaimer, legalTracks, onboardingJourney, jurisdictionCards, portals, prohibitedClaimsPreview } = institutionalUx; + const counselPortals = portals.filter((p) => p.audience === 'counsel'); + const institutionalPortals = portals.filter((p) => p.audience !== 'counsel'); + return (
) : null} + {/* Counsel return — external counsel */} + {counselPortals.length > 0 ? ( +
+
+
+
+ + External counsel returns +
+

+ Track A checklist and Track B WP-1–4 deliverables — signed matrices, memoranda PDFs, and gap + register. Preferred channel: Gitea issue with the counsel-return template. +

+
+
+ {counselPortals.map((p) => ( + + ))} +
+
+
+ ) : null} + {/* Portal links */}
- {portals.map((p) => ( - - {p.id.includes('onboard') ? ( - - ) : ( - - )} - {p.label} - - + {institutionalPortals.map((p) => ( + ))}
@@ -102,6 +117,37 @@ export function InstitutionalComplianceHub() { ); } +function CounselPortalButton({ portal, primary }: { portal: InstitutionalPortal; primary?: boolean }) { + const className = primary + ? 'inline-flex items-center gap-1.5 rounded-lg border border-indigo-400/50 bg-indigo-500/20 px-4 py-2.5 text-sm font-semibold text-indigo-100 no-underline transition hover:border-indigo-300/60 hover:bg-indigo-500/30' + : 'inline-flex items-center gap-1.5 rounded-lg border border-gray-700 bg-gray-900/50 px-4 py-2.5 text-sm font-medium text-indigo-200 no-underline transition hover:border-indigo-500/40 hover:text-indigo-100'; + + return ( + + + {portal.label} + + + ); +} + +function PortalLink({ portal }: { portal: InstitutionalPortal }) { + return ( + + {portal.id.includes('onboard') ? ( + + ) : ( + + )} + {portal.label} + + + ); +} + function LegalTrackCard({ track }: { track: LegalTrack }) { return (