Modal component displayed when a user visits an expired or invalid invitation link, offering a single action to return to the login page. ## Key Components ### `InviteLinkInvalidModal` A full-screen overlay with a centered card (bottom-pinned on mobile, vertically centered on tablet and above) that communicates the invalid/expired invite state. Includes an `XmarkIcon` dismiss button (desktop/tablet only) and a primary action button, both of which call `onBackToLogin` by default. ### `InviteLinkInvalidModalProps` | Prop | Type | Default | Description | |---|---|---|---| | `onBackToLogin` | `() => void` | — | **Required.** Called when the action button is clicked | | `onClose` | `() => void` | `onBackToLogin` | Called when the X button is clicked | | `title` | `string` | `'Invite link not valid'` | Card heading | | `description` | `string` | `'This invitation link has expired…'` | Body copy | | `backLabel` | `string` | `'Back to Login'` | Action button label | | `className` | `string` | — | Extra classes applied to the backdrop | ## Usage Example ```typescript import { InviteLinkInvalidModal } from './invite-link-invalid-modal' function InviteFlow() { const router = useRouter() return ( router.push('/login')} onClose={() => router.push('/login')} title="Invite Expired" description="Ask your administrator to resend the invite." backLabel="Go to Login" /> ) } ``` ## Source [`invite-link-invalid-modal.tsx`](https://github.com/flamingo-stack/openframe-oss-lib/blob/main/invite-link-invalid-modal.tsx)