From c1893f6ba115b2ba5fc3c7391fd1021c96dc3db4 Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 15 Oct 2026 18:19:43 +0530 Subject: [PATCH 1/2] fix: draw no-overlay surveys above elevated host views on Android [ENG-3971] A no-overlay survey renders in the host's view tree since ENG-3156, and Android draws elevated siblings (Buttons, cards, tab bars) above views without elevation. Give the survey layer zIndex and elevation so the card stays on top. --- packages/react-native/src/components/formbricks.tsx | 13 ++++++++++++- 1 file changed, 12 insertions(+), 1 deletion(-) diff --git a/packages/react-native/src/components/formbricks.tsx b/packages/react-native/src/components/formbricks.tsx index df3010a..aa31737 100644 --- a/packages/react-native/src/components/formbricks.tsx +++ b/packages/react-native/src/components/formbricks.tsx @@ -57,8 +57,19 @@ export function Formbricks({ return survey ? ( // Fills the parent: a no-overlay survey renders in the host's view tree (not a Modal) and // positions itself against this wrapper, which would otherwise be 0x0. - + ) : null; } + +const styles = StyleSheet.create({ + // Android draws elevated siblings (Buttons, cards, tab bars) above views without elevation, + // whatever their order in the tree, so a no-overlay card would sit under them. The layer is + // transparent, so the elevation casts no shadow. `zIndex` keeps it last on iOS too. + layer: { + ...StyleSheet.absoluteFillObject, + zIndex: 9999, + elevation: 9999, + }, +}); From c3b16c169e8718b296b5597cff22727858f504eb Mon Sep 17 00:00:00 2001 From: Dhruwang Date: Thu, 15 Oct 2026 18:32:59 +0530 Subject: [PATCH 2/2] fix: replace deprecated absoluteFillObject in the survey layer style [ENG-3971] --- packages/react-native/src/components/formbricks.tsx | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/packages/react-native/src/components/formbricks.tsx b/packages/react-native/src/components/formbricks.tsx index aa31737..1eac3d5 100644 --- a/packages/react-native/src/components/formbricks.tsx +++ b/packages/react-native/src/components/formbricks.tsx @@ -68,7 +68,11 @@ const styles = StyleSheet.create({ // whatever their order in the tree, so a no-overlay card would sit under them. The layer is // transparent, so the elevation casts no shadow. `zIndex` keeps it last on iOS too. layer: { - ...StyleSheet.absoluteFillObject, + position: "absolute", + top: 0, + right: 0, + bottom: 0, + left: 0, zIndex: 9999, elevation: 9999, },