@applicaster/zapp-react-native-app 14.0.0-alpha.5333112458 → 14.0.0-alpha.5365702091
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
|
-
|
|
106
|
+
connectToRemoteDebugger();
|
|
107
|
+
}, []);
|
|
108
|
+
|
|
109
|
+
React.useEffect(() => {
|
|
110
|
+
const unsubscribe = BackHandler.addEventListener(
|
|
111
|
+
"hardwareBackPress",
|
|
112
|
+
onHardwareBackPress
|
|
113
|
+
);
|
|
70
114
|
|
|
71
115
|
return () => {
|
|
72
|
-
|
|
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",
|
package/App/Layout/index.tsx
CHANGED
|
@@ -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,
|
|
@@ -71,12 +68,6 @@ const LayoutWithMenu = () => {
|
|
|
71
68
|
|
|
72
69
|
const { activeRiver, videoModalState, isVideoModalDocked } = navigator;
|
|
73
70
|
|
|
74
|
-
const plugin = resolveNavigationPlugin({
|
|
75
|
-
category: "menu",
|
|
76
|
-
navigations: activeRiver?.navigations,
|
|
77
|
-
plugins,
|
|
78
|
-
});
|
|
79
|
-
|
|
80
71
|
const Menu = React.useMemo(
|
|
81
72
|
() =>
|
|
82
73
|
getNavigationPluginModule(
|
|
@@ -99,11 +90,17 @@ const LayoutWithMenu = () => {
|
|
|
99
90
|
* also check isMenuVisible
|
|
100
91
|
*/
|
|
101
92
|
const showMenu = React.useMemo(() => {
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
93
|
+
const menuVisible = isMenuVisible(
|
|
94
|
+
navigator.currentRoute,
|
|
95
|
+
navigator.screenData,
|
|
96
|
+
plugins
|
|
97
|
+
);
|
|
105
98
|
|
|
106
|
-
|
|
99
|
+
const shouldShowWithVideo =
|
|
100
|
+
videoModalState.visible &&
|
|
101
|
+
["MINIMIZED", "MAXIMIZED"].includes(videoModalState.mode);
|
|
102
|
+
|
|
103
|
+
return menuVisible && (shouldShowWithVideo || !videoModalState.visible);
|
|
107
104
|
}, [
|
|
108
105
|
videoModalState.visible,
|
|
109
106
|
videoModalState.mode,
|
|
@@ -111,12 +108,7 @@ const LayoutWithMenu = () => {
|
|
|
111
108
|
isActiveGesture,
|
|
112
109
|
]);
|
|
113
110
|
|
|
114
|
-
const
|
|
115
|
-
|
|
116
|
-
const paddingBottom =
|
|
117
|
-
showMenu && isBottomTabsPlugin
|
|
118
|
-
? bottomTabBarHeight + safeAreaBottomInset
|
|
119
|
-
: 0; // if activeRiver?.navigations has quick-brick-bottom-tabs - append bottomTabBarHeight as padding
|
|
111
|
+
const paddingBottom = showMenu ? bottomTabBarHeight + safeAreaBottomInset : 0; // if activeRiver?.navigations has quick-brick-bottom-tabs - append bottomTabBarHeight as padding
|
|
120
112
|
|
|
121
113
|
const contentStyle = React.useMemo(
|
|
122
114
|
() =>
|
|
@@ -168,8 +160,6 @@ const LayoutWithMenu = () => {
|
|
|
168
160
|
PushTopicManager.getInstance().prepareTags();
|
|
169
161
|
}, []);
|
|
170
162
|
|
|
171
|
-
console.log("Layout", { navigatorData: navigator.data });
|
|
172
|
-
|
|
173
163
|
return (
|
|
174
164
|
<>
|
|
175
165
|
{appReady ? (
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/zapp-react-native-app",
|
|
3
|
-
"version": "14.0.0-alpha.
|
|
3
|
+
"version": "14.0.0-alpha.5365702091",
|
|
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.
|
|
31
|
-
"@applicaster/zapp-react-native-bridge": "14.0.0-alpha.
|
|
32
|
-
"@applicaster/zapp-react-native-redux": "14.0.0-alpha.
|
|
33
|
-
"@applicaster/zapp-react-native-ui-components": "14.0.0-alpha.
|
|
34
|
-
"@applicaster/zapp-react-native-utils": "14.0.0-alpha.
|
|
30
|
+
"@applicaster/quick-brick-core": "14.0.0-alpha.5365702091",
|
|
31
|
+
"@applicaster/zapp-react-native-bridge": "14.0.0-alpha.5365702091",
|
|
32
|
+
"@applicaster/zapp-react-native-redux": "14.0.0-alpha.5365702091",
|
|
33
|
+
"@applicaster/zapp-react-native-ui-components": "14.0.0-alpha.5365702091",
|
|
34
|
+
"@applicaster/zapp-react-native-utils": "14.0.0-alpha.5365702091",
|
|
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": "*",
|