[ADD] Backported dismiss() environment variable to let views dismiss themselves

This commit is contained in:
Fabian Thies
2022-12-12 19:20:10 +01:00
committed by Joe Mattiello
parent 0e7083539d
commit 378631e976
3 changed files with 21 additions and 14 deletions

View File

@@ -0,0 +1,16 @@
//
// EnvironmentValues.swift
// SideStore
//
// Created by Fabian Thies on 29.11.22.
// Copyright © 2022 SideStore. All rights reserved.
//
import SwiftUI
@available(iOS 14.0, *)
extension EnvironmentValues {
var dismiss: () -> Void {
{ presentationMode.wrappedValue.dismiss() }
}
}

View File

@@ -65,18 +65,8 @@ struct ConfirmAddSourceView: View {
confirmationHandler(fetchedSource)
} label: {
Label(title: { Text("Add Source") }, icon: { Image(systemName: "plus") })
.multilineTextAlignment(.center)
.foregroundColor(.white)
.padding()
.frame(
maxWidth: .infinity,
alignment: .bottomLeading
)
.background(
RoundedRectangle(cornerRadius: 10)
.foregroundColor(Color.accentColor)
)
}
.buttonStyle(FilledButtonStyle())
.padding()
}
.background(Color(UIColor.systemGroupedBackground).ignoresSafeArea())

View File

@@ -12,6 +12,9 @@ import CoreData
struct SourcesView: View {
@Environment(\.dismiss)
private var dismiss
@Environment(\.managedObjectContext)
var managedObjectContext
@@ -102,9 +105,7 @@ struct SourcesView: View {
}
ToolbarItem(placement: .navigationBarTrailing) {
SwiftUI.Button {
self.isShowingAddSourceAlert = false
} label: {
SwiftUI.Button(action: self.dismiss) {
Text("Done").bold()
}
}