diff --git a/portal/src/components/corporate/CorporateLandingPage.tsx b/portal/src/components/corporate/CorporateLandingPage.tsx index 257d770..7c3a51d 100644 --- a/portal/src/components/corporate/CorporateLandingPage.tsx +++ b/portal/src/components/corporate/CorporateLandingPage.tsx @@ -14,6 +14,7 @@ import { SovereignBackdrop, TrustComplianceGraphic, } from '@/components/corporate/graphics'; +import { InstitutionalComplianceHub } from '@/components/corporate/InstitutionalComplianceHub'; import { InstitutionalGradeSection } from '@/components/corporate/InstitutionalGradeSection'; import { ECOSYSTEM_SIGN_IN_PATH, @@ -286,6 +287,8 @@ export function CorporateLandingPage() { + + {/* Resources / trust */}
diff --git a/portal/src/components/corporate/InstitutionalComplianceHub.tsx b/portal/src/components/corporate/InstitutionalComplianceHub.tsx new file mode 100644 index 0000000..3bfd9ae --- /dev/null +++ b/portal/src/components/corporate/InstitutionalComplianceHub.tsx @@ -0,0 +1,166 @@ +import { ArrowRight, Building2, Globe2, Scale, ShieldAlert } from 'lucide-react'; +import Link from 'next/link'; + +import { + institutionalUx, + jurisdictionStatusClass, + type JurisdictionCard, + type LegalTrack, + type OnboardingStep, +} from '@/lib/institutional-ux-data'; + +export function InstitutionalComplianceHub() { + const { disclaimer, legalTracks, onboardingJourney, jurisdictionCards, portals, prohibitedClaimsPreview } = + institutionalUx; + + return ( +
+
+
+
+ + Institutional compliance +
+

+ Onboarding, legal tracks & jurisdiction matrices +

+

+ Sovereign and regulated institutions follow a defined path: charter acknowledgment, compliance + intake, per-jurisdiction matrices, and production gates — with separate legal tracks for Order + capacity and operational transactability. +

+

{disclaimer}

+
+ + {/* Two legal tracks */} +
+ {legalTracks.map((track) => ( + + ))} +
+ + {/* Onboarding journey */} +
+

Institution onboarding journey

+
    + {onboardingJourney.map((step) => ( + + ))} +
+
+ + {/* Jurisdiction cards */} +
+

Active jurisdiction matrices

+
+ {jurisdictionCards.map((j) => ( + + ))} +
+
+ + {/* Prohibited claims */} + {prohibitedClaimsPreview.length > 0 ? ( +
+
+ +
+

Prohibited external claims

+
    + {prohibitedClaimsPreview.map((c) => ( +
  • · {c}
  • + ))} +
+
+
+
+ ) : null} + + {/* Portal links */} +
+ {portals.map((p) => ( + + {p.id.includes('onboard') ? ( + + ) : ( + + )} + {p.label} + + + ))} +
+
+
+ ); +} + +function LegalTrackCard({ track }: { track: LegalTrack }) { + return ( + +
+

Track {track.id}

+ {track.statusLabel} +
+

{track.label}

+

{track.question}

+

{track.summary}

+ + View counsel corpus + + + + ); +} + +function JourneyStepCard({ step }: { step: OnboardingStep }) { + return ( +
  • + Step {step.step} +

    {step.title}

    +

    {step.description}

    + + {step.cta} → + +
  • + ); +} + +function JurisdictionCardView({ card }: { card: JurisdictionCard }) { + return ( + + ); +} diff --git a/portal/src/components/corporate/InstitutionalGradeSection.tsx b/portal/src/components/corporate/InstitutionalGradeSection.tsx index 67c2fc0..a183577 100644 --- a/portal/src/components/corporate/InstitutionalGradeSection.tsx +++ b/portal/src/components/corporate/InstitutionalGradeSection.tsx @@ -106,6 +106,16 @@ export function InstitutionalGradeSection() { · + + Chain 138 institutional hub + + + + · +