@applicaster/zapp-react-native-app 14.0.0-alpha.5333112458 → 14.0.0-alpha.5351122050

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -10,9 +10,46 @@ import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks/n
10
10
  import { useAnalytics } from "@applicaster/zapp-react-native-utils/analyticsUtils";
11
11
  import { useRivers } from "@applicaster/zapp-react-native-utils/reactHooks/state";
12
12
  import { useErrorStore } from "@applicaster/quick-brick-core/App/ErrorBoundary/store";
13
+ import { isApplePlatform } from "@applicaster/zapp-react-native-utils/reactUtils";
13
14
 
14
15
  const getHome = R.compose(R.find(R.propEq("home", true)), R.values);
15
16
 
17
+ const isIOS = isApplePlatform();
18
+ /* Set to `false` in production, do not commit this change */
19
+ const IS_DEBUGGER_ENABLED = false;
20
+
21
+ /**
22
+ * This is a workaround to fix an error on start when debugger is connected.
23
+ * Update function body for this function `callNativeSyncHook`
24
+ * node_modules/react-native/Libraries/BatchedBridge/MessageQueue.js:167
25
+
26
+ this.processCallbacks(moduleID, methodID, params, onFail, onSucc);
27
+ if(global.nativeCallSyncHook) {
28
+ return global.nativeCallSyncHook(moduleID, methodID, params);
29
+ }
30
+ */
31
+
32
+ // Assign this to a dev-only button or useEffect call
33
+ const connectToRemoteDebugger = () => {
34
+ if (__DEV__ && isIOS) {
35
+ try {
36
+ const { DevSettings, NativeModules } = require("react-native");
37
+
38
+ // eslint-disable-next-line no-console
39
+ console.warn(`Debugger connected: ${IS_DEBUGGER_ENABLED}`);
40
+
41
+ if (DevSettings?.setIsDebuggingRemotely) {
42
+ DevSettings.setIsDebuggingRemotely(IS_DEBUGGER_ENABLED);
43
+ }
44
+
45
+ NativeModules?.DevSettings?.setIsDebuggingRemotely?.(IS_DEBUGGER_ENABLED);
46
+ } catch (error) {
47
+ // eslint-disable-next-line no-console
48
+ console.error(`connectToRemoteDebugger message: ${error.message}`);
49
+ }
50
+ }
51
+ };
52
+
16
53
  const InteractionManagerComponent = () => {
17
54
  const { sendHardwareBackButtonClickEvent } = useAnalytics();
18
55
  const rivers = useRivers();
@@ -66,10 +103,17 @@ const InteractionManagerComponent = () => {
66
103
  }, [navigator.currentRoute]);
67
104
 
68
105
  React.useEffect(() => {
69
- BackHandler.addEventListener("hardwareBackPress", onHardwareBackPress);
106
+ connectToRemoteDebugger();
107
+ }, []);
108
+
109
+ React.useEffect(() => {
110
+ const unsubscribe = BackHandler.addEventListener(
111
+ "hardwareBackPress",
112
+ onHardwareBackPress
113
+ );
70
114
 
71
115
  return () => {
72
- BackHandler.removeEventListener("hardwareBackPress", onHardwareBackPress);
116
+ unsubscribe.remove();
73
117
  };
74
118
  }, [onHardwareBackPress]);
75
119
 
@@ -138,6 +138,9 @@ jest.mock(
138
138
  );
139
139
 
140
140
  jest.mock("@applicaster/zapp-react-native-utils/navigationUtils", () => ({
141
+ ...(jest.requireActual(
142
+ "@applicaster/zapp-react-native-utils/navigationUtils"
143
+ ) as jest.Mock<any>),
141
144
  getNavigationProps: () => ({}),
142
145
  resolveNavigationPlugin: () => ({
143
146
  identifier: "quick-brick-bottom-tabs",
@@ -3,10 +3,7 @@ import * as R from "ramda";
3
3
 
4
4
  import { View, StyleSheet } from "react-native";
5
5
 
6
- import {
7
- getNavigationProps,
8
- resolveNavigationPlugin,
9
- } from "@applicaster/zapp-react-native-utils/navigationUtils";
6
+ import { getNavigationProps } from "@applicaster/zapp-react-native-utils/navigationUtils";
10
7
  import {
11
8
  useDimensions,
12
9
  useGetBottomTabBarHeight,
@@ -40,6 +37,7 @@ import {
40
37
  PushTopicManagerEvents,
41
38
  } from "@applicaster/zapp-react-native-bridge/PushNotifications/PushTopicManager";
42
39
  import { useSafeAreaInsets } from "react-native-safe-area-context";
40
+ import { GestureHandlerRootView } from "react-native-gesture-handler";
43
41
 
44
42
  const styles = StyleSheet.create({
45
43
  container: {
@@ -71,12 +69,6 @@ const LayoutWithMenu = () => {
71
69
 
72
70
  const { activeRiver, videoModalState, isVideoModalDocked } = navigator;
73
71
 
74
- const plugin = resolveNavigationPlugin({
75
- category: "menu",
76
- navigations: activeRiver?.navigations,
77
- plugins,
78
- });
79
-
80
72
  const Menu = React.useMemo(
81
73
  () =>
82
74
  getNavigationPluginModule(
@@ -103,7 +95,7 @@ const LayoutWithMenu = () => {
103
95
  return false;
104
96
  }
105
97
 
106
- return isMenuVisible(navigator.currentRoute, navigator.screenData);
98
+ return isMenuVisible(navigator.currentRoute, navigator.screenData, plugins);
107
99
  }, [
108
100
  videoModalState.visible,
109
101
  videoModalState.mode,
@@ -111,12 +103,7 @@ const LayoutWithMenu = () => {
111
103
  isActiveGesture,
112
104
  ]);
113
105
 
114
- const isBottomTabsPlugin = plugin?.identifier === "quick-brick-bottom-tabs";
115
-
116
- const paddingBottom =
117
- showMenu && isBottomTabsPlugin
118
- ? bottomTabBarHeight + safeAreaBottomInset
119
- : 0; // if activeRiver?.navigations has quick-brick-bottom-tabs - append bottomTabBarHeight as padding
106
+ const paddingBottom = showMenu ? bottomTabBarHeight + safeAreaBottomInset : 0; // if activeRiver?.navigations has quick-brick-bottom-tabs - append bottomTabBarHeight as padding
120
107
 
121
108
  const contentStyle = React.useMemo(
122
109
  () =>
@@ -168,10 +155,8 @@ const LayoutWithMenu = () => {
168
155
  PushTopicManager.getInstance().prepareTags();
169
156
  }, []);
170
157
 
171
- console.log("Layout", { navigatorData: navigator.data });
172
-
173
158
  return (
174
- <>
159
+ <GestureHandlerRootView>
175
160
  {appReady ? (
176
161
  <View style={styles.container}>
177
162
  <Transitioner
@@ -201,7 +186,7 @@ const LayoutWithMenu = () => {
201
186
  {/* depends on active river. @TODO move below screen context */}
202
187
  {VideoModal && videoModalState.visible ? <VideoModal /> : null}
203
188
  <ZappHooksModal />
204
- </>
189
+ </GestureHandlerRootView>
205
190
  );
206
191
  };
207
192
 
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-native-app",
3
- "version": "14.0.0-alpha.5333112458",
3
+ "version": "14.0.0-alpha.5351122050",
4
4
  "description": "Zapp App Component for Applicaster's Quick Brick React Native App",
5
5
  "main": "index.js",
6
6
  "scripts": {
@@ -27,11 +27,11 @@
27
27
  },
28
28
  "homepage": "https://github.com/applicaster/quickbrick#readme",
29
29
  "dependencies": {
30
- "@applicaster/quick-brick-core": "14.0.0-alpha.5333112458",
31
- "@applicaster/zapp-react-native-bridge": "14.0.0-alpha.5333112458",
32
- "@applicaster/zapp-react-native-redux": "14.0.0-alpha.5333112458",
33
- "@applicaster/zapp-react-native-ui-components": "14.0.0-alpha.5333112458",
34
- "@applicaster/zapp-react-native-utils": "14.0.0-alpha.5333112458",
30
+ "@applicaster/quick-brick-core": "14.0.0-alpha.5351122050",
31
+ "@applicaster/zapp-react-native-bridge": "14.0.0-alpha.5351122050",
32
+ "@applicaster/zapp-react-native-redux": "14.0.0-alpha.5351122050",
33
+ "@applicaster/zapp-react-native-ui-components": "14.0.0-alpha.5351122050",
34
+ "@applicaster/zapp-react-native-utils": "14.0.0-alpha.5351122050",
35
35
  "axios": "^0.28.0",
36
36
  "camelize": "^1.0.0",
37
37
  "query-string": "7.1.3",
@@ -46,12 +46,10 @@
46
46
  "@applicaster/zapp-react-native-tvos-ui-components": "*",
47
47
  "@babel/runtime": "*",
48
48
  "@react-native-community/netinfo": "*",
49
- "immer": "*",
50
49
  "react": "*",
51
50
  "react-native": "*",
52
51
  "react-native-fs": "*",
53
52
  "react-native-linear-gradient": "*",
54
- "react-native-safe-area-context": "*",
55
53
  "react-native-svg": "*",
56
54
  "react-native-webview": "*",
57
55
  "uglify-js": "*",