@applicaster/zapp-react-native-app 12.0.0-alpha.9221621294 → 12.0.0-alpha.9241554284
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.
- package/App/InteractionManager/index.js +3 -20
- package/App/Layout/index.tsx +39 -8
- package/App/index.ts +3 -3
- package/package.json +6 -6
|
@@ -3,21 +3,16 @@ import { BackHandler } from "react-native";
|
|
|
3
3
|
import * as R from "ramda";
|
|
4
4
|
|
|
5
5
|
import {
|
|
6
|
-
sendQuickBrickEvent,
|
|
7
6
|
QUICK_BRICK_EVENTS,
|
|
7
|
+
sendQuickBrickEvent,
|
|
8
8
|
} from "@applicaster/zapp-react-native-bridge/QuickBrick";
|
|
9
9
|
import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks/navigation";
|
|
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
|
|
|
13
|
-
type Props = {
|
|
14
|
-
children: React.CElement,
|
|
15
|
-
};
|
|
16
|
-
|
|
17
13
|
const getHome = R.compose(R.find(R.propEq("home", true)), R.values);
|
|
18
14
|
|
|
19
|
-
const InteractionManagerComponent = (
|
|
20
|
-
const { children } = props;
|
|
15
|
+
const InteractionManagerComponent = () => {
|
|
21
16
|
const { sendHardwareBackButtonClickEvent } = useAnalytics();
|
|
22
17
|
const rivers = useRivers();
|
|
23
18
|
const navigator = useNavigation();
|
|
@@ -63,19 +58,7 @@ const InteractionManagerComponent = (props: Props) => {
|
|
|
63
58
|
};
|
|
64
59
|
}, [onHardwareBackPress]);
|
|
65
60
|
|
|
66
|
-
return
|
|
61
|
+
return null;
|
|
67
62
|
};
|
|
68
63
|
|
|
69
64
|
export const InteractionManager = React.memo(InteractionManagerComponent);
|
|
70
|
-
|
|
71
|
-
export function withInteractionManager(
|
|
72
|
-
Component: React.ComponentType<any>
|
|
73
|
-
): React.ComponentType<any> {
|
|
74
|
-
return function InteractionManagerComponent(props) {
|
|
75
|
-
return (
|
|
76
|
-
<InteractionManager>
|
|
77
|
-
<Component {...props} />
|
|
78
|
-
</InteractionManager>
|
|
79
|
-
);
|
|
80
|
-
};
|
|
81
|
-
}
|
package/App/Layout/index.tsx
CHANGED
|
@@ -3,7 +3,10 @@ import * as R from "ramda";
|
|
|
3
3
|
|
|
4
4
|
import { View } from "react-native";
|
|
5
5
|
|
|
6
|
-
import {
|
|
6
|
+
import {
|
|
7
|
+
getNavigationProps,
|
|
8
|
+
resolveNavigationPlugin,
|
|
9
|
+
} from "@applicaster/zapp-react-native-utils/navigationUtils";
|
|
7
10
|
import {
|
|
8
11
|
useDimensions,
|
|
9
12
|
useGetBottomTabBarHeight,
|
|
@@ -26,7 +29,10 @@ import {
|
|
|
26
29
|
} from "@applicaster/zapp-react-native-ui-components/Contexts/MenuToggleContext";
|
|
27
30
|
import { VideoModal } from "@applicaster/zapp-react-native-ui-components/Components/VideoModal";
|
|
28
31
|
import { withDimensionsProvider } from "@applicaster/zapp-react-native-utils/dimensionsProvider";
|
|
29
|
-
import {
|
|
32
|
+
import {
|
|
33
|
+
withModalAnimationProvider,
|
|
34
|
+
useModalAnimationContext,
|
|
35
|
+
} from "@applicaster/zapp-react-native-ui-components/Components/VideoModal/ModalAnimation";
|
|
30
36
|
|
|
31
37
|
import { ZappHooksModal } from "@applicaster/zapp-react-dom-ui-components/Components/ZappHooksModal";
|
|
32
38
|
import { useListenEventBusEvent } from "@applicaster/zapp-react-native-utils/reactHooks/useListenEventBusEvent";
|
|
@@ -63,6 +69,12 @@ const LayoutWithMenu = () => {
|
|
|
63
69
|
|
|
64
70
|
const { activeRiver, videoModalState, isVideoModalDocked } = navigator;
|
|
65
71
|
|
|
72
|
+
const plugin = resolveNavigationPlugin({
|
|
73
|
+
category: "menu",
|
|
74
|
+
navigations: activeRiver?.navigations,
|
|
75
|
+
plugins,
|
|
76
|
+
});
|
|
77
|
+
|
|
66
78
|
const Menu = React.useMemo(
|
|
67
79
|
() =>
|
|
68
80
|
getNavigationPluginModule(
|
|
@@ -75,17 +87,37 @@ const LayoutWithMenu = () => {
|
|
|
75
87
|
navigator: QuickBrickAppNavigator;
|
|
76
88
|
}
|
|
77
89
|
>,
|
|
78
|
-
[]
|
|
90
|
+
[activeRiver]
|
|
79
91
|
);
|
|
80
92
|
|
|
93
|
+
const { isActiveGesture } = useModalAnimationContext();
|
|
94
|
+
|
|
95
|
+
/** BTB shown when videoModalState - visible & minimized, maximized & animation gesture is active
|
|
96
|
+
* otherwise hidden if videoModalState - visible
|
|
97
|
+
* also check isMenuVisible
|
|
98
|
+
*/
|
|
81
99
|
const showMenu = React.useMemo(
|
|
82
|
-
() =>
|
|
83
|
-
|
|
100
|
+
() =>
|
|
101
|
+
((videoModalState.visible &&
|
|
102
|
+
(videoModalState.mode === "MINIMIZED" ||
|
|
103
|
+
(videoModalState.mode === "MAXIMIZED" && isActiveGesture))) ||
|
|
104
|
+
!videoModalState.visible) &&
|
|
105
|
+
isMenuVisible(navigator.currentRoute, navigator.screenData),
|
|
106
|
+
[
|
|
107
|
+
videoModalState.visible,
|
|
108
|
+
videoModalState.mode,
|
|
109
|
+
navigator.currentRoute,
|
|
110
|
+
isActiveGesture,
|
|
111
|
+
]
|
|
84
112
|
);
|
|
85
113
|
|
|
114
|
+
const isBottomTabsPlugin = plugin?.identifier === "quick-brick-bottom-tabs";
|
|
115
|
+
|
|
116
|
+
const shouldApplyStyleForBottomTabs = showMenu && isBottomTabsPlugin;
|
|
117
|
+
|
|
86
118
|
const contentStyle = React.useMemo(
|
|
87
119
|
() => ({
|
|
88
|
-
...(
|
|
120
|
+
...(shouldApplyStyleForBottomTabs
|
|
89
121
|
? {
|
|
90
122
|
paddingBottom: bottomTabBarHeight,
|
|
91
123
|
}
|
|
@@ -140,10 +172,9 @@ const LayoutWithMenu = () => {
|
|
|
140
172
|
<View style={contentStyle}>
|
|
141
173
|
<Transitioner
|
|
142
174
|
transitionConfig={transitionConfig}
|
|
143
|
-
contentStyle={
|
|
175
|
+
contentStyle={{}}
|
|
144
176
|
isRTL={isRTL}
|
|
145
177
|
>
|
|
146
|
-
{/* has pathname context */}
|
|
147
178
|
<Screen
|
|
148
179
|
key={navigator.currentRoute}
|
|
149
180
|
pathname={navigator.currentRoute} // required by TransitionerComponent
|
package/App/index.ts
CHANGED
|
@@ -1,13 +1,13 @@
|
|
|
1
1
|
import * as React from "react";
|
|
2
2
|
import * as R from "ramda";
|
|
3
|
-
import { NativeRouter,
|
|
3
|
+
import { NativeRouter, useHistory, useLocation } from "react-router-native";
|
|
4
4
|
// @ts-ignore
|
|
5
5
|
import { createQuickBrickApp } from "@applicaster/quick-brick-core";
|
|
6
6
|
import * as Contexts from "@applicaster/zapp-react-native-ui-components/Contexts";
|
|
7
7
|
import * as QuickBrickManager from "@applicaster/zapp-react-native-bridge/QuickBrick";
|
|
8
8
|
import { OfflineHandler } from "@applicaster/zapp-react-native-ui-components/Components/OfflineHandler";
|
|
9
9
|
|
|
10
|
-
import {
|
|
10
|
+
import { InteractionManager } from "./InteractionManager";
|
|
11
11
|
|
|
12
12
|
import { Layout } from "./Layout";
|
|
13
13
|
|
|
@@ -22,6 +22,6 @@ export const ZappApp: React.ComponentType<Props> = createQuickBrickApp({
|
|
|
22
22
|
QuickBrickManager,
|
|
23
23
|
Layout,
|
|
24
24
|
OfflineHandler,
|
|
25
|
-
InteractionManager
|
|
25
|
+
InteractionManager, // mostly back button handle in Android
|
|
26
26
|
ContextProviders: R.map(R.prop("withProvider"), R.values(Contexts)),
|
|
27
27
|
});
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@applicaster/zapp-react-native-app",
|
|
3
|
-
"version": "12.0.0-alpha.
|
|
3
|
+
"version": "12.0.0-alpha.9241554284",
|
|
4
4
|
"description": "Zapp App Component for Applicaster's Quick Brick React Native App",
|
|
5
5
|
"main": "index.js",
|
|
6
6
|
"scripts": {
|
|
@@ -29,11 +29,11 @@
|
|
|
29
29
|
},
|
|
30
30
|
"homepage": "https://github.com/applicaster/quickbrick#readme",
|
|
31
31
|
"dependencies": {
|
|
32
|
-
"@applicaster/quick-brick-core": "12.0.0-alpha.
|
|
33
|
-
"@applicaster/zapp-react-native-bridge": "12.0.0-alpha.
|
|
34
|
-
"@applicaster/zapp-react-native-redux": "12.0.0-alpha.
|
|
35
|
-
"@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.
|
|
36
|
-
"@applicaster/zapp-react-native-utils": "12.0.0-alpha.
|
|
32
|
+
"@applicaster/quick-brick-core": "12.0.0-alpha.9241554284",
|
|
33
|
+
"@applicaster/zapp-react-native-bridge": "12.0.0-alpha.9241554284",
|
|
34
|
+
"@applicaster/zapp-react-native-redux": "12.0.0-alpha.9241554284",
|
|
35
|
+
"@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.9241554284",
|
|
36
|
+
"@applicaster/zapp-react-native-utils": "12.0.0-alpha.9241554284",
|
|
37
37
|
"axios": "^0.28.0",
|
|
38
38
|
"camelize": "^1.0.0",
|
|
39
39
|
"query-string": "7.1.3",
|