// // Copyright 2025 Element Creations Ltd. // Copyright 2023-2025 New Vector Ltd. // // SPDX-License-Identifier: AGPL-3.0-only OR LicenseRef-Element-Commercial. // Please see LICENSE files in the repository root for full details. // import Compound import SwiftUI struct ActionSheetScreen: View { @State private var isPresentingConfirmationDialog = true var body: some View { ScreenContent(navigationTitle: "Action Sheets") { Text("This component will be rendered differently when running on macOS.") .font(.footnote) .foregroundColor(.secondary) .multilineTextAlignment(.center) } .toolbar { ToolbarItem(placement: .bottomBar) { Button("Show Sheet") { isPresentingConfirmationDialog = true } .confirmationDialog("A Short Title is Best", isPresented: $isPresentingConfirmationDialog) { Button("Default") { } Button("Default") { } Button("Default") { } Button("Disabled") { } .disabled(true) // This hides the button on iOS 16 😐 Button("Destructive", role: .destructive) { } } message: { Text("A message should be a short, complete sentence.") } } } } } struct ActionSheetScreen_Previews: PreviewProvider { static var previews: some View { NavigationStack { ActionSheetScreen() } .introspect(.window, on: .supportedVersions) { window in // Fix the tint colour like the App strut does. window.tintColor = .compound.textActionPrimary } .previewLayout(.fixed(width: 375, height: 750)) } }