Skip to content

Commit 86e7bc1

Browse files
committed
fix: patch react-native modal
1 parent 4d681a7 commit 86e7bc1

File tree

2 files changed

+50
-1
lines changed

2 files changed

+50
-1
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,46 @@
1+
diff --git a/React/Views/RCTModalHostViewManager.m b/React/Views/RCTModalHostViewManager.m
2+
index 7fab70ef636368b45ba250f6f304df5203d6f2d8..4b9f9ad7267c8f3ed04e9ab3007c193d423df91a 100644
3+
--- a/React/Views/RCTModalHostViewManager.m
4+
+++ b/React/Views/RCTModalHostViewManager.m
5+
@@ -75,13 +75,15 @@ RCT_EXPORT_MODULE()
6+
modalHostView.onShow(nil);
7+
}
8+
};
9+
- if (_presentationBlock) {
10+
- _presentationBlock([modalHostView reactViewController], viewController, animated, completionBlock);
11+
- } else {
12+
- [[modalHostView reactViewController] presentViewController:viewController
13+
- animated:animated
14+
- completion:completionBlock];
15+
- }
16+
+ dispatch_async(dispatch_get_main_queue(), ^{
17+
+ if (self->_presentationBlock) {
18+
+ self->_presentationBlock([modalHostView reactViewController], viewController, animated, completionBlock);
19+
+ } else {
20+
+ [[modalHostView reactViewController] presentViewController:viewController
21+
+ animated:animated
22+
+ completion:completionBlock];
23+
+ }
24+
+ });
25+
}
26+
27+
- (void)dismissModalHostView:(RCTModalHostView *)modalHostView
28+
@@ -93,11 +95,13 @@ RCT_EXPORT_MODULE()
29+
[[self.bridge moduleForClass:[RCTModalManager class]] modalDismissed:modalHostView.identifier];
30+
}
31+
};
32+
- if (_dismissalBlock) {
33+
- _dismissalBlock([modalHostView reactViewController], viewController, animated, completionBlock);
34+
- } else {
35+
- [viewController.presentingViewController dismissViewControllerAnimated:animated completion:completionBlock];
36+
- }
37+
+ dispatch_async(dispatch_get_main_queue(), ^{
38+
+ if (self->_dismissalBlock) {
39+
+ self->_dismissalBlock([modalHostView reactViewController], viewController, animated, completionBlock);
40+
+ } else {
41+
+ [viewController.presentingViewController dismissViewControllerAnimated:animated completion:completionBlock];
42+
+ }
43+
+ });
44+
}
45+
46+
- (RCTShadowView *)shadowView

package.json

+4-1
Original file line numberDiff line numberDiff line change
@@ -49,5 +49,8 @@
4949
"node"
5050
]
5151
},
52-
"packageManager": "[email protected]"
52+
"packageManager": "[email protected]",
53+
"resolutions": {
54+
"[email protected]": "patch:react-native@npm%3A0.70.6#./.yarn/patches/react-native-npm-0.70.6-94c39d80fa.patch"
55+
}
5356
}

0 commit comments

Comments
 (0)