61 lines
1.2 KiB
Swift
Raw Normal View History

//
// DismissableView.swift
// Profile
//
// Created by Javier Cicchelli on 12/12/2022.
// Copyright © 2022 Röck+Cöde. All rights reserved.
//
import SwiftUI
struct DismissableView<Content: View>: 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()
}
}
}