import React, { useEffect } from 'react'; import { useNavigate } from 'react-router-dom'; import { ShieldAlert, LogOut, Ban, Mail, Building2, Fingerprint, Lock, } from 'lucide-react'; import { BrandLogo } from '../ui/BrandLogo'; import { AuthUserProfile, UserClaims } from '../../auth/AuthProvider'; import { cancelSessionExpiration, dismissSubordinateModals } from '../../services/sessionExpiration'; interface PartnerAccessDeniedModalProps { user: AuthUserProfile | null; claims: UserClaims; sub: string; onLogout: () => Promise; } export const PartnerAccessDeniedModal: React.FC = ({ user, claims, sub, onLogout, }) => { const navigate = useNavigate(); // Clear any existing session prompt and close background dialogs useEffect(() => { cancelSessionExpiration(); dismissSubordinateModals(); }, []); const displayName = user?.name || (claims.name as string) || (claims.preferred_username as string) || 'Authenticated User'; const displayEmail = user?.email || (claims.email as string) || (claims['http://schemas.xmlsoap.org/ws/2005/05/identity/claims/emailaddress'] as string) || ''; const tenant = user?.tenant || (claims.tenant as string) || (claims.org as string) || 'Statutory Enterprise'; const role = user?.role || (claims.role as string) || 'Partner'; const handleLogoutClick = async () => { await onLogout(); navigate('/', { replace: true }); }; return (
{/* Glow Header Accent */}
{/* Header */}
Restricted Role Security Policy

Access Denied: Partner Role

Users assigned the Partner role by security are not permitted to access the PFM Backoffice Console.

{/* User & Identity Summary Card */}
Account Name {displayName}
{displayEmail && (
Email {displayEmail}
)}
Assigned Role {role}
{tenant && (
Tenant Context {tenant}
)} {sub && (
Subject Key {sub}
)}
{/* Security Policy Information */}

Administrative Boundary Notice

The PFM Console is reserved for statutory administrators, sponsors, programme managers, and governance officers. Partner credentials cannot access this environment. If you require backoffice administrative access, please request an updated role assignment from your system administrator.

{/* Actions */}
{/* Footer Brand watermark */}
Post Fund Management (PFM)
National Security Gateway
); };