diff --git a/apps/mobile/patches/react-native-actions-sheet+0.4.9.patch b/apps/mobile/patches/react-native-actions-sheet+0.4.9.patch
index 7d0d67dff..0126b8188 100644
--- a/apps/mobile/patches/react-native-actions-sheet+0.4.9.patch
+++ b/apps/mobile/patches/react-native-actions-sheet+0.4.9.patch
@@ -1,5 +1,5 @@
diff --git a/node_modules/react-native-actions-sheet/src/index.js b/node_modules/react-native-actions-sheet/src/index.js
-index dfa8fad..d243c06 100644
+index dfa8fad..f5144e9 100644
--- a/node_modules/react-native-actions-sheet/src/index.js
+++ b/node_modules/react-native-actions-sheet/src/index.js
@@ -72,7 +72,7 @@ export default class ActionSheet extends Component {
@@ -11,7 +11,7 @@ index dfa8fad..d243c06 100644
let scrollOffset = this.props.gestureEnabled
? offset + correction + this.props.extraScroll
: offset + correction + this.props.extraScroll;
-@@ -188,7 +188,7 @@ export default class ActionSheet extends Component {
+@@ -188,17 +188,15 @@ export default class ActionSheet extends Component {
resolve(height === 0 ? 20 : height);
}
);
@@ -20,15 +20,42 @@ index dfa8fad..d243c06 100644
});
};
-@@ -196,7 +196,6 @@ export default class ActionSheet extends Component {
- let { gestureEnabled, delayActionSheetDraw, delayActionSheetDrawTime } =
- this.props;
- if (!event?.nativeEvent) return;
--
+ _showModal = async (event) => {
+- let { gestureEnabled, delayActionSheetDraw, delayActionSheetDrawTime } =
+- this.props;
+- if (!event?.nativeEvent) return;
++ let { gestureEnabled, delayActionSheetDraw, delayActionSheetDrawTime } = this.props;
+
++ if (!event?.nativeEvent) return;
let height = event.nativeEvent.layout.height;
-
+-
if (this.layoutHasCalled) {
-@@ -277,7 +276,7 @@ export default class ActionSheet extends Component {
+ this._returnToPrevScrollPosition(height);
+ this.actionSheetHeight = height;
+@@ -227,12 +225,12 @@ export default class ActionSheet extends Component {
+ this.underlayScale.setValue(1);
+ this.underlayTranslateY.setValue(100);
+ if (!gestureEnabled) {
+- //DeviceEventEmitter.emit("hasReachedTop");
+ this.props.onPositionChanged && this.props.onPositionChanged(true);
+ }
+ this.layoutHasCalled = true;
+ this.updateActionSheetPosition(scrollOffset);
+ }
++
+ };
+
+ _openAnimation = (scrollOffset) => {
+@@ -241,7 +239,7 @@ export default class ActionSheet extends Component {
+ if (animated) {
+ this.transformValue.setValue(scrollOffset);
+ Animated.parallel([
+- Animated.spring(this.transformValue, {
++ Animated.timing(this.transformValue, {
+ toValue: 0,
+ bounciness: bounceOnOpen ? bounciness : 1,
+ speed: openAnimationSpeed,
+@@ -277,7 +275,7 @@ export default class ActionSheet extends Component {
let { springOffset, extraScroll } = this.props;
let verticalOffset = event.nativeEvent.contentOffset.y;
@@ -37,18 +64,18 @@ index dfa8fad..d243c06 100644
if (this.isRecoiling) return;
if (this.prevScroll < verticalOffset) {
-@@ -321,16 +320,17 @@ export default class ActionSheet extends Component {
+@@ -321,8 +319,8 @@ export default class ActionSheet extends Component {
};
updateActionSheetPosition(scrollPosition) {
- if (!this.props.drawUnderStatusBar) return;
- if (scrollPosition > this.state.deviceHeight) {
+- if (scrollPosition > this.state.deviceHeight) {
++ if (scrollPosition >= this.state.deviceHeight - 15) {
+ if (!this.props.drawUnderStatusBar) return;
this.indicatorTranslateY.setValue(0);
} else {
-+ console.log(this.state.paddingTop);
this.indicatorTranslateY.setValue(-this.state.paddingTop);
- }
+@@ -330,7 +328,7 @@ export default class ActionSheet extends Component {
}
_returnToPrevScrollPosition(height) {
@@ -57,19 +84,23 @@ index dfa8fad..d243c06 100644
let scrollOffset =
height * this.currentOffsetFromBottom +
correction +
-@@ -380,7 +380,7 @@ export default class ActionSheet extends Component {
+@@ -380,9 +378,10 @@ export default class ActionSheet extends Component {
this.targetId = event.nativeEvent.target;
this.offsetY = event.nativeEvent.contentOffset.y;
- let correction = this.state.deviceHeight * 0.1;
+ let correction = this.state.deviceHeight * 0.15;
let distanceFromTop = this.actionSheetHeight + correction - this.offsetY;
-
+
++
if (distanceFromTop < 3) {
-@@ -395,21 +395,13 @@ export default class ActionSheet extends Component {
+ if (this.isReachedTop) {
+ this.isReachedTop = true;
+@@ -394,18 +393,10 @@ export default class ActionSheet extends Component {
+ this.props.onPositionChanged && this.props.onPositionChanged(false);
}
}
- if (this.actionSheetHeight >= this.state.deviceHeight) {
+- if (this.actionSheetHeight >= this.state.deviceHeight) {
- if (!this.props.drawUnderStatusBar) return;
- /* if (
- distanceFromTop < StatusBar.currentHeight &&
@@ -80,20 +111,30 @@ index dfa8fad..d243c06 100644
- StatusBar.currentHeight - distanceFromTop
- );
- } */
++
++ if (this.actionSheetHeight >= this.state.deviceHeight - 1) {
if (distanceFromTop < this.state.paddingTop) {
+ if (!this.props.drawUnderStatusBar) return;
this.indicatorTranslateY.setValue(
-this.state.paddingTop + (this.state.paddingTop - distanceFromTop)
);
- } else {
-+ console.log('setting',this.state.paddingTop)
- this.indicatorTranslateY.setValue(-this.state.paddingTop);
- }
- }
-@@ -541,10 +533,11 @@ export default class ActionSheet extends Component {
+@@ -536,15 +527,22 @@ export default class ActionSheet extends Component {
+ this._onKeyboardHide
+ );
+ }
+-
++ timeout = null;
+ _onDeviceLayout = async (_event) => {
++
let event = { ..._event };
- let safeMarginFromTop = 0;
+- let safeMarginFromTop = 0;
++ if (this.timeout) {
++ clearTimeout(this.timeout);
++ }
++
++ this.timeout = setTimeout(async () => {
++ let safeMarginFromTop = 0;
+ let measuredPadding = Platform.OS === "ios" ? await this.measure() : StatusBar.currentHeight;
if (!this.props.drawUnderStatusBar) {
if (Platform.OS === "android" && !this.props.statusBarTranslucent) return;
@@ -104,7 +145,7 @@ index dfa8fad..d243c06 100644
}
let height = event.nativeEvent.layout.height - safeMarginFromTop;
-@@ -562,16 +555,13 @@ export default class ActionSheet extends Component {
+@@ -562,16 +560,16 @@ export default class ActionSheet extends Component {
deviceHeight: height,
deviceWidth: width,
portrait: height > width,
@@ -114,6 +155,9 @@ index dfa8fad..d243c06 100644
- : await this.measure(),
+ paddingTop:measuredPadding,
});
++ },1)
++
++
};
getInitialScrollPosition() {
@@ -123,7 +167,7 @@ index dfa8fad..d243c06 100644
let scrollPosition = this.props.gestureEnabled
? this.actionSheetHeight * this.props.initialOffsetFromBottom +
correction +
-@@ -626,7 +616,7 @@ export default class ActionSheet extends Component {
+@@ -626,7 +624,7 @@ export default class ActionSheet extends Component {
@@ -132,3 +176,30 @@ index dfa8fad..d243c06 100644
+@@ -714,7 +712,7 @@ export default class ActionSheet extends Component {
+