// // DismissableView.swift // Profile // // Created by Javier Cicchelli on 12/12/2022. // Copyright © 2022 Röck+Cöde. All rights reserved. // import SwiftUI struct DismissableView: View { // MARK: Environments @Environment(\.dismiss) private var dismiss // MARK: Properties @ViewBuilder let content: Content // MARK: Body var body: some View { ZStack { content VStack { Button { dismiss() } label: { Image.close .resizable() .scaledToFit() .frame(width: 32) .foregroundColor(.secondary) } Spacer() } .frame(maxWidth: .infinity, alignment: .trailing) .padding([.top, .trailing], 24) } } } // MARK: - Images+Constants private extension Image { static let close = Image(systemName: "xmark.circle.fill") } // MARK: - Previews struct SwiftUIView_Previews: PreviewProvider { static var previews: some View { DismissableView { EmptyView() } } }