Feedback/DSFullPageInterruption
DSFullPageInterruption
feedbackFull-screen modal overlay for critical interruptions like session expiry.
iOSmacOS
Purpose
Use for critical situations requiring immediate user attention before continuing. Blocks all interaction.
Interactive Reference
Live showroom
Need the full visual surface?
Screenshots do not scale well across every component, state, and variant. For the real interactive reference, import the package and launch DSShowcaseRoot().
Best for exploring:
variants, states, categories, and real app examples in one place.
Props
| Prop | Type | Default | Description |
|---|---|---|---|
| isPresentedreq | Bool | — | Controls visibility |
| titlereq | String | — | Main heading |
| message | String? | nil | Optional body text |
| primaryLabelreq | String | — | Primary button text |
| primaryActionreq | (() -> Void) | — | Primary button action |
| secondaryLabel | String? | nil | Optional secondary button text |
| secondaryAction | (() -> Void)? | nil | Optional secondary action |
| accessibilityLabel | String? | nil | Optional accessibility label |
Examples
Session expired
Force user to sign in again.
swift
DSFullPageInterruption(
isPresented: sessionExpired,
title: "Session Expired",
message: "Your session has timed out. Please sign in again to continue.",
primaryLabel: "Sign In",
primaryAction: { navigateToLogin() }
)Network error
Critical error with retry option.
swift
DSFullPageInterruption(
isPresented: networkError,
title: "Connection Lost",
message: "Unable to connect to the server. Please check your internet connection.",
primaryLabel: "Retry",
primaryAction: { retryConnection() },
secondaryLabel: "Go Offline",
secondaryAction: { enableOfflineMode() }
)Usage Guidelines
- Use only for critical, blocking situations
- Provide clear explanation of the problem
- Always offer a primary action to resolve
- Consider secondary action for alternatives