I find navigation quite difficult to use in my applied Architecture for SwiftUI project. I made this simpler way to trigger navigation events such as push views and present modals.
The basic solution I ended up using is this wrapper around NavigationStack. I uses a state variable enum representing the pending navigation operation where it's value changes will trigger the requested operation.
struct ContentView: View {
var body: some View {
NavigationWrapper { navigation in