import { ADMIN_BLOCK_NEXT_STEP, ADMIN_BLOCK_TITLE, adminBlockReference, type OAuthAdminBlock, } from "../plugins/oauth-admin-block"; // --------------------------------------------------------------------------- // The blocked-by-administrator notice. // // Presented as an ORGANIZATION DECISION, not an error the user can work // around: no retry, no alternative sign-in, no "try again" — every one of those // would offer the route the identity provider just closed. What it does give is // the provider's own code, so a member can quote it to whoever administers the // policy. // // Grayscale, per design.md: destructive red is for irreversible actions and // faults, and this is neither. It is a policy outcome. // --------------------------------------------------------------------------- export function AdminBlockNotice(props: { readonly block: OAuthAdminBlock; readonly className?: string; }) { const reference = adminBlockReference(props.block); return (

{ADMIN_BLOCK_TITLE}

{props.block.message}

{ADMIN_BLOCK_NEXT_STEP}

{reference === null ? null : (

{reference}

)}
); }