@applicaster/zapp-react-native-app 12.0.0-alpha.4837064762 → 12.0.0-alpha.4876423277

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.
@@ -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 = (props: Props) => {
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 children;
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
- }
@@ -3,12 +3,15 @@ import * as R from "ramda";
3
3
 
4
4
  import { View } from "react-native";
5
5
 
6
- import { getNavigationProps } from "@applicaster/zapp-react-native-utils/navigationUtils";
7
6
  import {
8
- useGetBottomTabBarHeight,
9
- useNavigation,
7
+ getNavigationProps,
8
+ resolveNavigationPlugin,
9
+ } from "@applicaster/zapp-react-native-utils/navigationUtils";
10
+ import {
10
11
  useDimensions,
12
+ useGetBottomTabBarHeight,
11
13
  useNavbarState,
14
+ useNavigation,
12
15
  } from "@applicaster/zapp-react-native-utils/reactHooks";
13
16
  import { Transitioner } from "@applicaster/zapp-react-native-ui-components/Components/Transitioner";
14
17
  import { transitionConfig } from "@applicaster/zapp-react-native-ui-components/Components/Transitioner/config";
@@ -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 { withModalAnimationProvider } from "@applicaster/zapp-react-native-ui-components/Components/VideoModal/ModalAnimation";
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
- () => isMenuVisible(navigator.currentRoute, navigator.screenData),
83
- [navigator.currentRoute]
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
- ...(showMenu
120
+ ...(shouldApplyStyleForBottomTabs
89
121
  ? {
90
122
  paddingBottom: bottomTabBarHeight,
91
123
  }
@@ -140,14 +172,13 @@ const LayoutWithMenu = () => {
140
172
  <View style={contentStyle}>
141
173
  <Transitioner
142
174
  transitionConfig={transitionConfig}
143
- contentStyle={showMenu ? 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
150
- screenData={navigator.screenData} // required by TransitionerComponent
181
+ screenData={navigator.data} // required by TransitionerComponent
151
182
  />
152
183
  </Transitioner>
153
184
  </View>
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, useLocation, useHistory } from "react-router-native";
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 { withInteractionManager } from "./InteractionManager";
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: withInteractionManager, // mostly back button handle in Android
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.4837064762",
3
+ "version": "12.0.0-alpha.4876423277",
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.4837064762",
33
- "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.4837064762",
34
- "@applicaster/zapp-react-native-redux": "12.0.0-alpha.4837064762",
35
- "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.4837064762",
36
- "@applicaster/zapp-react-native-utils": "12.0.0-alpha.4837064762",
32
+ "@applicaster/quick-brick-core": "12.0.0-alpha.4876423277",
33
+ "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.4876423277",
34
+ "@applicaster/zapp-react-native-redux": "12.0.0-alpha.4876423277",
35
+ "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.4876423277",
36
+ "@applicaster/zapp-react-native-utils": "12.0.0-alpha.4876423277",
37
37
  "axios": "^0.28.0",
38
38
  "camelize": "^1.0.0",
39
39
  "query-string": "7.1.3",