@applicaster/zapp-react-native-app 12.0.0-alpha.9453522405 → 12.0.0-alpha.9531194637

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.
@@ -8,7 +8,7 @@ import {
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
- import { usePickFromState } from "@applicaster/zapp-react-native-redux/hooks";
11
+ import { useRivers } from "@applicaster/zapp-react-native-utils/reactHooks/state";
12
12
 
13
13
  type Props = {
14
14
  children: React.CElement,
@@ -19,7 +19,7 @@ const getHome = R.compose(R.find(R.propEq("home", true)), R.values);
19
19
  const InteractionManagerComponent = (props: Props) => {
20
20
  const { children } = props;
21
21
  const { sendHardwareBackButtonClickEvent } = useAnalytics();
22
- const { rivers } = usePickFromState(["rivers"]);
22
+ const rivers = useRivers();
23
23
  const navigator = useNavigation();
24
24
 
25
25
  const isHomeScreen = () => {
@@ -0,0 +1,7 @@
1
+ describe("Layout", () => {
2
+ it.todo("should match snapshot when appReady is true");
3
+ it.todo("should not render transitioner with screen when appReady is false");
4
+ it.todo("should render menu when showMenu is true");
5
+ it.todo("should render VideoModal when visible & VideoModal is true");
6
+ it.todo("should render ZappHooksModal");
7
+ });
@@ -8,7 +8,7 @@ import {
8
8
  useGetBottomTabBarHeight,
9
9
  useNavigation,
10
10
  useDimensions,
11
- useIsNavBarVisible,
11
+ useNavbarState,
12
12
  } from "@applicaster/zapp-react-native-utils/reactHooks";
13
13
  import { Transitioner } from "@applicaster/zapp-react-native-ui-components/Components/Transitioner";
14
14
  import { transitionConfig } from "@applicaster/zapp-react-native-ui-components/Components/Transitioner/config";
@@ -25,9 +25,12 @@ import { VideoModal } from "@applicaster/zapp-react-native-ui-components/Compone
25
25
  import { withDimensionsProvider } from "@applicaster/zapp-react-native-utils/dimensionsProvider";
26
26
 
27
27
  import { ZappHooksModal } from "@applicaster/zapp-react-dom-ui-components/Components/ZappHooksModal";
28
- import { useNavbarState } from "@applicaster/zapp-react-native-utils/reactHooks/screen/useScreenContext";
29
28
  import { useListenEventBusEvent } from "@applicaster/zapp-react-native-utils/reactHooks/useListenEventBusEvent";
30
- import { PushTopicManager, PushTopicManagerConsts, PushTopicManagerEvents } from "@applicaster/zapp-react-native-bridge/PushNotifications/PushTopicManager";
29
+ import {
30
+ PushTopicManager,
31
+ PushTopicManagerConsts,
32
+ PushTopicManagerEvents,
33
+ } from "@applicaster/zapp-react-native-bridge/PushNotifications/PushTopicManager";
31
34
 
32
35
  type Props = {
33
36
  children: React.ReactNode;
@@ -61,29 +64,21 @@ const LayoutWithMenu = (props: Props) => {
61
64
 
62
65
  const dimensions = useDimensions("screen", { fullDimensions: true });
63
66
  const isRTL = useIsRTL();
64
-
65
67
  const navigator = useNavigation();
66
68
  const bottomTabBarHeight = useGetBottomTabBarHeight();
67
-
68
- const {
69
- activeRiver,
70
- currentRoute,
71
- screenData,
72
- videoModalState,
73
- isVideoModalDocked,
74
- videoModalState: { visible },
75
- } = navigator;
76
-
77
- const isNavBarVisible = useIsNavBarVisible();
78
69
  const { title } = useNavbarState();
79
70
 
80
- const NavBar = React.useMemo(
81
- () => getNavigationPluginModule("nav_bar", activeRiver, plugins),
82
- []
83
- );
71
+ const { activeRiver, videoModalState, isVideoModalDocked } = navigator;
84
72
 
85
73
  const Menu = React.useMemo(
86
- () => getNavigationPluginModule("menu", activeRiver, plugins),
74
+ () =>
75
+ getNavigationPluginModule(
76
+ "menu",
77
+ activeRiver,
78
+ plugins
79
+ ) as React.ComponentType<
80
+ MobileNavBarPluginProps & { navigator: ZappNavigation }
81
+ >,
87
82
  []
88
83
  );
89
84
 
@@ -96,8 +91,8 @@ const LayoutWithMenu = (props: Props) => {
96
91
  () => ({
97
92
  ...(showMenu
98
93
  ? {
99
- paddingBottom: bottomTabBarHeight,
100
- }
94
+ paddingBottom: bottomTabBarHeight,
95
+ }
101
96
  : {}),
102
97
  ...containerStyle,
103
98
  opacity: videoModalState.visible && !isVideoModalDocked ? 0 : 1,
@@ -105,20 +100,6 @@ const LayoutWithMenu = (props: Props) => {
105
100
  [bottomTabBarHeight, videoModalState.visible, isVideoModalDocked, showMenu]
106
101
  );
107
102
 
108
- const navBarProps = React.useMemo(
109
- () => ({
110
- setToggleMenu,
111
- toggleMenu,
112
- openMenu,
113
- setOpenMenu,
114
- closeMenu,
115
- setCloseMenu,
116
- navigator,
117
- ...getNavigationProps({ navigator, title, category: "nav_bar" }),
118
- }),
119
- [navigator.currentRoute]
120
- );
121
-
122
103
  const menuProps = {
123
104
  setToggleMenu: setToggleMenu,
124
105
  toggleMenu: toggleMenu,
@@ -127,7 +108,7 @@ const LayoutWithMenu = (props: Props) => {
127
108
  closeMenu: closeMenu,
128
109
  setCloseMenu: setCloseMenu,
129
110
  dimensions: { window: dimensions },
130
- navigator: navigator,
111
+ navigator,
131
112
  ...getNavigationProps({
132
113
  navigator,
133
114
  title,
@@ -144,6 +125,11 @@ const LayoutWithMenu = (props: Props) => {
144
125
  PushTopicManager.getInstance().routeEvent
145
126
  );
146
127
 
128
+ React.useEffect(() => {
129
+ // getting tags right after subscription
130
+ PushTopicManager.getInstance().prepareTags();
131
+ }, []);
132
+
147
133
  return (
148
134
  <>
149
135
  {appReady ? (
@@ -153,22 +139,20 @@ const LayoutWithMenu = (props: Props) => {
153
139
  contentStyle={showMenu ? contentStyle : {}}
154
140
  isRTL={isRTL}
155
141
  >
142
+ {/* has pathname context */}
156
143
  <Screen
157
144
  key={navigator.currentRoute}
158
- NavBar={NavBar}
159
- navBarProps={navBarProps}
160
- Menu={Menu}
161
- menuProps={menuProps}
162
- pathname={currentRoute}
163
- screenData={screenData}
164
- isNavBarVisible={isNavBarVisible}
145
+ pathname={navigator.currentRoute} // required by TransitionerComponent
146
+ screenData={navigator.screenData} // required by TransitionerComponent
147
+ setToggleMenu={setToggleMenu}
148
+ setCloseMenu={setCloseMenu}
165
149
  />
166
150
  </Transitioner>
167
151
  </View>
168
152
  ) : null}
169
- {showMenu && <Menu {...menuProps} />}
170
- {VideoModal && visible && <VideoModal />}
171
-
153
+ {showMenu && <Menu {...{ ...menuProps, id: navigator.currentRoute }} />}
154
+ {/* depends on active river. @TODO move below screen context */}
155
+ {VideoModal && videoModalState.visible && <VideoModal />}
172
156
  <ZappHooksModal />
173
157
  </>
174
158
  );
package/package.json CHANGED
@@ -1,10 +1,11 @@
1
1
  {
2
2
  "name": "@applicaster/zapp-react-native-app",
3
- "version": "12.0.0-alpha.9453522405",
3
+ "version": "12.0.0-alpha.9531194637",
4
4
  "description": "Zapp App Component for Applicaster's Quick Brick React Native App",
5
5
  "main": "index.js",
6
6
  "scripts": {
7
7
  "test": "jest -w=2",
8
+ "build": "echo 'skipping ts build for core packages'",
8
9
  "flow-types": "node_modules/.bin/flow-copy-source -v -i '**/__tests__**' . ."
9
10
  },
10
11
  "repository": {
@@ -28,12 +29,12 @@
28
29
  },
29
30
  "homepage": "https://github.com/applicaster/quickbrick#readme",
30
31
  "dependencies": {
31
- "@applicaster/quick-brick-core": "12.0.0-alpha.9453522405",
32
- "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.9453522405",
33
- "@applicaster/zapp-react-native-redux": "12.0.0-alpha.9453522405",
34
- "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.9453522405",
35
- "@applicaster/zapp-react-native-utils": "12.0.0-alpha.9453522405",
36
- "axios": "^0.21.2",
32
+ "@applicaster/quick-brick-core": "12.0.0-alpha.9531194637",
33
+ "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.9531194637",
34
+ "@applicaster/zapp-react-native-redux": "12.0.0-alpha.9531194637",
35
+ "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.9531194637",
36
+ "@applicaster/zapp-react-native-utils": "12.0.0-alpha.9531194637",
37
+ "axios": "^0.28.0",
37
38
  "camelize": "^1.0.0",
38
39
  "query-string": "7.1.3",
39
40
  "react-router-native": "5.1.2",
@@ -44,7 +45,6 @@
44
45
  "react-native": "0.68.6"
45
46
  },
46
47
  "devDependencies": {
47
- "@applicaster/zapp-react-native-flow-types": "1.5.0",
48
48
  "nock": "^10.0.0",
49
49
  "redux-mock-store": "^1.5.3"
50
50
  },
package/tsconfig.json ADDED
@@ -0,0 +1,11 @@
1
+ {
2
+ "extends": "../../tsconfig.base.json",
3
+
4
+ "compilerOptions": {
5
+ "outDir": "./lib",
6
+ "rootDir": "./src"
7
+ },
8
+
9
+ "include": ["src/**/*"],
10
+ "exclude": ["src/**/*.test.ts", "src/**/*.test.tsx"]
11
+ }