Skip to content

Commit 1b11121

Browse files
committed
Update package
1 parent ce21154 commit 1b11121

File tree

1 file changed

+30
-43
lines changed

1 file changed

+30
-43
lines changed

Sources/Intramodular/Core/SwiftUI.View+Coordinator.swift

Lines changed: 30 additions & 43 deletions
Original file line numberDiff line numberDiff line change
@@ -52,68 +52,55 @@ private struct AttachUIViewControllerCoordinator<Route, Coordinator: UIViewContr
5252
let onConnect: () -> Void
5353

5454
func body(content: Content) -> some View {
55-
PassthroughView {
56-
if coordinator.rootViewController == nil {
57-
ZeroSizeView()
58-
} else {
59-
content.environment(coordinator.environmentInsertions)
55+
content
56+
.environment(coordinator.environmentInsertions)
57+
.environmentObject(coordinator)
58+
.environmentObject(AnyViewCoordinator(coordinator))
59+
.onAppKitOrUIKitViewControllerResolution { viewController in
60+
DispatchQueue.main.async {
61+
coordinator.rootViewController = viewController
62+
63+
onConnect()
64+
}
6065
}
61-
}
62-
.environmentObject(coordinator)
63-
.environmentObject(AnyViewCoordinator(coordinator))
64-
.onAppKitOrUIKitViewControllerResolution { viewController in
65-
DispatchQueue.main.async {
66-
coordinator.rootViewController = viewController
67-
68-
onConnect()
69-
}
70-
}
7166
}
7267
}
7368

7469
private struct AttachAppKitOrUIKitWindowCoordinator<Route, Coordinator: AppKitOrUIKitWindowCoordinator<Route>>: ViewModifier {
7570
@ObservedObject var coordinator: Coordinator
7671

7772
let onConnect: () -> Void
78-
73+
7974
func body(content: Content) -> some View {
80-
PassthroughView {
81-
if coordinator.window == nil {
82-
ZeroSizeView()
83-
} else {
84-
content
75+
content
76+
.environmentObject(coordinator)
77+
.environmentObject(AnyViewCoordinator(coordinator))
78+
.onAppKitOrUIKitViewControllerResolution { viewController in
79+
DispatchQueue.main.async {
80+
coordinator.window = viewController.view.window
81+
82+
onConnect()
83+
}
8584
}
86-
}
87-
.environmentObject(coordinator)
88-
.environmentObject(AnyViewCoordinator(coordinator))
89-
.onAppKitOrUIKitViewControllerResolution { viewController in
90-
DispatchQueue.main.async {
91-
coordinator.window = viewController.view.window
92-
93-
onConnect()
94-
}
95-
}
9685
}
9786
}
9887

9988
private struct AttachViewCoordinator<Coordinator: ViewCoordinator>: ViewModifier {
10089
@ObservedObject var coordinator: Coordinator
10190

10291
let onConnect: () -> Void
103-
92+
10493
func body(content: Content) -> some View {
105-
PassthroughView {
106-
content
107-
}
108-
.environmentObject(coordinator)
109-
.environmentObject((coordinator as? AnyViewCoordinator<Coordinator.Route>) ?? AnyViewCoordinator(coordinator))
110-
.onAppKitOrUIKitViewControllerResolution { viewController in
111-
DispatchQueue.main.async {
112-
AnyViewCoordinator(coordinator)._setViewController(viewController)
113-
114-
onConnect()
94+
content
95+
.environmentObject(coordinator)
96+
.environmentObject((coordinator as? AnyViewCoordinator<Coordinator.Route>) ?? AnyViewCoordinator(coordinator))
97+
.onAppKitOrUIKitViewControllerResolution { viewController in
98+
DispatchQueue.main.async {
99+
AnyViewCoordinator(coordinator)._setViewController(viewController)
100+
101+
onConnect()
102+
}
115103
}
116-
}
117104
}
118105
}
119106
#endif

0 commit comments

Comments
 (0)