@applicaster/zapp-react-native-app 14.0.0-alpha.2345544020 → 14.0.0-alpha.2482261241
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
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as R from "ramda";
|
|
3
3
|
|
|
4
|
-
import { View } from "react-native";
|
|
4
|
+
import { View, StyleSheet } from "react-native";
|
|
5
5
|
|
|
6
6
|
import {
|
|
7
7
|
getNavigationProps,
|
|
@@ -39,10 +39,13 @@ import {
|
|
|
39
39
|
PushTopicManagerConsts,
|
|
40
40
|
PushTopicManagerEvents,
|
|
41
41
|
} from "@applicaster/zapp-react-native-bridge/PushNotifications/PushTopicManager";
|
|
42
|
+
import { useSafeAreaInsets } from "react-native-safe-area-context";
|
|
42
43
|
|
|
43
|
-
const
|
|
44
|
-
|
|
45
|
-
|
|
44
|
+
const styles = StyleSheet.create({
|
|
45
|
+
container: {
|
|
46
|
+
height: "100%",
|
|
47
|
+
},
|
|
48
|
+
});
|
|
46
49
|
|
|
47
50
|
const LayoutWithMenu = () => {
|
|
48
51
|
const {
|
|
@@ -63,6 +66,7 @@ const LayoutWithMenu = () => {
|
|
|
63
66
|
const isRTL = useIsRTL();
|
|
64
67
|
const navigator = useNavigation();
|
|
65
68
|
const bottomTabBarHeight = useGetBottomTabBarHeight();
|
|
69
|
+
const { bottom: safeAreaBottomInset } = useSafeAreaInsets();
|
|
66
70
|
const { title } = useNavbarState();
|
|
67
71
|
|
|
68
72
|
const { activeRiver, videoModalState, isVideoModalDocked } = navigator;
|
|
@@ -94,34 +98,36 @@ const LayoutWithMenu = () => {
|
|
|
94
98
|
* otherwise hidden if videoModalState - visible
|
|
95
99
|
* also check isMenuVisible
|
|
96
100
|
*/
|
|
97
|
-
const showMenu = React.useMemo(
|
|
98
|
-
()
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
|
|
108
|
-
|
|
109
|
-
]
|
|
110
|
-
);
|
|
101
|
+
const showMenu = React.useMemo(() => {
|
|
102
|
+
if (!videoModalState.visible && videoModalState.mode === "FULLSCREEN") {
|
|
103
|
+
return false;
|
|
104
|
+
}
|
|
105
|
+
|
|
106
|
+
return isMenuVisible(navigator.currentRoute, navigator.screenData);
|
|
107
|
+
}, [
|
|
108
|
+
videoModalState.visible,
|
|
109
|
+
videoModalState.mode,
|
|
110
|
+
navigator.currentRoute,
|
|
111
|
+
isActiveGesture,
|
|
112
|
+
]);
|
|
111
113
|
|
|
112
114
|
const isBottomTabsPlugin = plugin?.identifier === "quick-brick-bottom-tabs";
|
|
113
115
|
|
|
114
|
-
const paddingBottom =
|
|
115
|
-
|
|
116
|
-
|
|
116
|
+
const paddingBottom =
|
|
117
|
+
showMenu && isBottomTabsPlugin
|
|
118
|
+
? bottomTabBarHeight + safeAreaBottomInset
|
|
119
|
+
: 0; // if activeRiver?.navigations has quick-brick-bottom-tabs - append bottomTabBarHeight as padding
|
|
117
120
|
|
|
118
121
|
const contentStyle = React.useMemo(
|
|
119
|
-
() =>
|
|
120
|
-
|
|
121
|
-
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
|
|
122
|
+
() =>
|
|
123
|
+
StyleSheet.flatten([
|
|
124
|
+
styles.container,
|
|
125
|
+
{
|
|
126
|
+
paddingBottom,
|
|
127
|
+
opacity: videoModalState.visible && !isVideoModalDocked ? 0 : 1,
|
|
128
|
+
},
|
|
129
|
+
]),
|
|
130
|
+
[videoModalState.visible, isVideoModalDocked]
|
|
125
131
|
);
|
|
126
132
|
|
|
127
133
|
const menuProps = React.useMemo(() => {
|
|
@@ -165,7 +171,7 @@ const LayoutWithMenu = () => {
|
|
|
165
171
|
return (
|
|
166
172
|
<>
|
|
167
173
|
{appReady ? (
|
|
168
|
-
<View style={
|
|
174
|
+
<View style={styles.container}>
|
|
169
175
|
<Transitioner
|
|
170
176
|
transitionConfig={transitionConfig}
|
|
171
177
|
contentStyle={contentStyle}
|
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.2482261241",
|
|
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.2482261241",
|
|
31
|
+
"@applicaster/zapp-react-native-bridge": "14.0.0-alpha.2482261241",
|
|
32
|
+
"@applicaster/zapp-react-native-redux": "14.0.0-alpha.2482261241",
|
|
33
|
+
"@applicaster/zapp-react-native-ui-components": "14.0.0-alpha.2482261241",
|
|
34
|
+
"@applicaster/zapp-react-native-utils": "14.0.0-alpha.2482261241",
|
|
35
35
|
"axios": "^0.28.0",
|
|
36
36
|
"camelize": "^1.0.0",
|
|
37
37
|
"query-string": "7.1.3",
|
|
@@ -46,23 +46,14 @@
|
|
|
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
|
-
"react-native-gesture-handler": "*",
|
|
54
52
|
"react-native-linear-gradient": "*",
|
|
55
|
-
"react-native-safe-area-context": "*",
|
|
56
53
|
"react-native-svg": "*",
|
|
57
|
-
"react-native-web": "*",
|
|
58
54
|
"react-native-webview": "*",
|
|
59
55
|
"uglify-js": "*",
|
|
60
56
|
"validate-color": "*",
|
|
61
57
|
"zustand": "*"
|
|
62
|
-
}
|
|
63
|
-
"devDependencies": {
|
|
64
|
-
"nock": "^10.0.0",
|
|
65
|
-
"redux-mock-store": "^1.5.3"
|
|
66
|
-
},
|
|
67
|
-
"gitHead": "a473487564142c55cdb50f02505cf0b60fe75658"
|
|
58
|
+
}
|
|
68
59
|
}
|