@applicaster/quick-brick-core 12.0.0-alpha.5643066061 → 12.0.0-alpha.5675222257

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.
@@ -88,10 +88,10 @@ const getActionInitialStateSetters = (key) => {
88
88
  return R.compose(
89
89
  R.map((subscription: { [x: string]: any; pluginId: any }) => {
90
90
  return async () => {
91
+ const now = performance.now();
92
+
91
93
  logger.info({
92
- message: `Invocation Started - action plugin ${key}, pluginId: ${
93
- subscription.pluginId
94
- }: ${performance.now()}`,
94
+ message: `Invocation Started - action plugin ${key}, pluginId: ${subscription.pluginId}`,
95
95
  });
96
96
 
97
97
  const promiseFunc = subscription[key];
@@ -101,7 +101,7 @@ const getActionInitialStateSetters = (key) => {
101
101
  logger.info({
102
102
  message: `Invocation Completed - action plugin ${key}, pluginId: ${
103
103
  subscription.pluginId
104
- }: ${performance.now()}`,
104
+ }: ${performance.now() - now} ms`,
105
105
  });
106
106
 
107
107
  return result;
@@ -323,7 +323,7 @@ describe("asset cache", () => {
323
323
 
324
324
  expect(saveCacheData).toHaveBeenCalledWith(
325
325
  layoutId,
326
- newFiles.filter(({ url }) => !url.includes("fail")),
326
+ newFiles.filter(({ url }) => !url.includes("fail"))
327
327
  );
328
328
  });
329
329
 
@@ -1,6 +1,6 @@
1
1
  /// <reference types="../../" />
2
2
  import * as R from "ramda";
3
- import { log_debug, log_warning } from "./logger";
3
+ import { log_debug, log_verbose, log_warning } from "./logger";
4
4
  import { CacheManager } from "./CacheManager";
5
5
 
6
6
  import {
@@ -84,6 +84,8 @@ export async function cacheAssets({
84
84
  };
85
85
  }
86
86
 
87
+ const time = performance.now();
88
+
87
89
  try {
88
90
  const { assetFiles, cellAssets, pluginAssets, layoutAssets } =
89
91
  await getLayoutAssets({
@@ -141,18 +143,25 @@ export async function cacheAssets({
141
143
 
142
144
  newCacheState.forEach(({ file, url }) => (urlFileMap[url] = file));
143
145
 
144
- const updatedLayout = remapAssetPath(layoutAssets, layout, urlFileMap);
146
+ const updatedLayout = remapAssetPath(
147
+ layoutAssets,
148
+ layout,
149
+ urlFileMap,
150
+ "layoutAssets"
151
+ );
145
152
 
146
153
  const updatedPluginConfigurations = remapAssetPath(
147
154
  pluginAssets,
148
155
  pluginConfigurations,
149
- urlFileMap
156
+ urlFileMap,
157
+ "pluginAssets"
150
158
  );
151
159
 
152
160
  const updatedCellStyles = remapAssetPath(
153
161
  cellAssets,
154
162
  cellStyles,
155
- urlFileMap
163
+ urlFileMap,
164
+ "cellStyles"
156
165
  );
157
166
 
158
167
  return {
@@ -164,5 +173,9 @@ export async function cacheAssets({
164
173
  log_warning(`cacheAssets: Error caching assets, message: ${error.message}`);
165
174
 
166
175
  return { layout, pluginConfigurations, cellStyles };
176
+ } finally {
177
+ log_verbose(
178
+ `cacheAssets: caching assets took ${performance.now() - time} ms`
179
+ );
167
180
  }
168
181
  }
@@ -1,7 +1,4 @@
1
- import {
2
- useActions,
3
- usePickFromState,
4
- } from "@applicaster/zapp-react-native-redux/hooks";
1
+ import { useActions } from "@applicaster/zapp-react-native-redux/hooks";
5
2
  import * as R from "ramda";
6
3
  import * as React from "react";
7
4
  import axios from "axios";
@@ -28,6 +25,7 @@ import {
28
25
  } from "../../helpers";
29
26
 
30
27
  import { log_error, log_info } from "../../logger";
28
+ import { useRivers } from "@applicaster/zapp-react-native-utils/reactHooks/state";
31
29
 
32
30
  const getFeed = (query) => ({
33
31
  content: { src: query.data_source },
@@ -60,7 +58,7 @@ export function usePresentSchemeHandler({
60
58
  feedUrl: data_source,
61
59
  });
62
60
 
63
- const { rivers } = usePickFromState(["rivers"]);
61
+ const rivers = useRivers();
64
62
  const screenRiver = findRiver({ screen_id, rivers });
65
63
  const dispatch = useDispatch();
66
64
 
@@ -1,7 +1,5 @@
1
1
  import React from "react";
2
- import { render, waitFor, cleanup } from "@testing-library/react-native";
3
-
4
- jest.mock("react-native");
2
+ import { cleanup, render, waitFor } from "@testing-library/react-native";
5
3
 
6
4
  const theme = {
7
5
  screen_margin_top: 0,
@@ -10,6 +8,8 @@ const theme = {
10
8
 
11
9
  const plugins = [];
12
10
 
11
+ jest.mock("@applicaster/zapp-react-native-utils/reactHooks/navigation");
12
+
13
13
  jest.mock("@applicaster/zapp-react-native-utils/theme", () => ({
14
14
  useTheme: jest.fn(() => theme),
15
15
  }));
@@ -7,8 +7,6 @@ import { URLSchemeListener } from "../index";
7
7
 
8
8
  const URL = "url";
9
9
 
10
- jest.mock("react-native");
11
-
12
10
  const TestComponent = () => (
13
11
  <View>
14
12
  <Text>I'm a test component</Text>
@@ -13,6 +13,7 @@ import {
13
13
  useNavigation,
14
14
  } from "@applicaster/zapp-react-native-utils/reactHooks";
15
15
  import { useDimensions } from "@applicaster/zapp-react-native-utils/reactHooks/layout";
16
+ import { ModalComponent } from "@applicaster/zapp-react-native-ui-components/Components";
16
17
 
17
18
  const styles = StyleSheet.create({
18
19
  container: {
@@ -55,7 +56,10 @@ export function ModalBottomSheet(props: Props) {
55
56
  modal_bottom_sheet_tablet_max_width: sheetTabletMaxWidth,
56
57
  } = theme;
57
58
 
58
- const { ModalBottomSheetContent, modalBottomSheetContentProps } = props;
59
+ const {
60
+ ModalBottomSheetContent = ModalComponent,
61
+ modalBottomSheetContentProps,
62
+ } = props;
59
63
 
60
64
  const onLayout = useCallback(({ nativeEvent }) => {
61
65
  const calculatedHeight = nativeEvent?.layout?.height;
@@ -17,7 +17,7 @@ const styles = StyleSheet.create({
17
17
  export function ModalContent(props: Props) {
18
18
  const { modalScreenProps } = props;
19
19
 
20
- if (modalScreenProps?.screenData?.ModalBottomSheetContent) {
20
+ if (modalScreenProps?.screenData?.modalBottomSheetContentProps) {
21
21
  const { ModalBottomSheetContent, modalBottomSheetContentProps } =
22
22
  modalScreenProps?.screenData || {};
23
23
 
@@ -1,16 +1,16 @@
1
1
  import * as React from "react";
2
2
 
3
- import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks/navigation";
4
-
5
3
  import { ModalPresenter } from "./ModalPresenter";
6
4
  import { ModalContent } from "./ModalContent";
7
5
  import { ModalChildrenWrapper } from "./ModalChildrenWrapper";
8
6
  import { PathnameContext } from "@applicaster/zapp-react-native-ui-components/Contexts/PathnameContext";
9
7
  import { ScreenContextProvider } from "@applicaster/zapp-react-native-ui-components/Contexts/ScreenContext";
10
8
  import { ROUTE_TYPES } from "@applicaster/zapp-react-native-utils/navigationUtils/routeTypes";
9
+ import { useModalStore } from "@applicaster/zapp-react-native-utils/modalState";
11
10
 
12
11
  export function ModalProvider() {
13
- const { modalState } = useNavigation();
12
+ const { modalState } = useModalStore();
13
+
14
14
  const [modalVisible, setModalVisible] = React.useState(false);
15
15
  const [modalShown, setModalShown] = React.useState(false);
16
16
 
@@ -63,6 +63,7 @@ import { findParent } from "@applicaster/zapp-react-native-ui-components/Context
63
63
  import { ZappPipesEntryContext } from "@applicaster/zapp-react-native-ui-components/Contexts";
64
64
  import { PlayNextState } from "@applicaster/zapp-react-native-utils/appUtils/playerManager/OverlayObserver/OverlaysObserver";
65
65
  import { inflateUrl } from "@applicaster/zapp-react-native-ui-components/Components/LinkHandler/LinkHandler";
66
+ import { useModalStore } from "@applicaster/zapp-react-native-utils/modalState";
66
67
 
67
68
  const logger = coreAppLogger.addSubsystem("Navigator");
68
69
 
@@ -92,13 +93,6 @@ const navigationActions = {
92
93
 
93
94
  const platform = getPlatform();
94
95
 
95
- const initialModalState = {
96
- visible: false,
97
- screen: null,
98
- options: {},
99
- props: {},
100
- };
101
-
102
96
  export function NavigationProvider({ children }: Props) {
103
97
  const {
104
98
  appData: { layoutVersion },
@@ -130,8 +124,7 @@ export function NavigationProvider({ children }: Props) {
130
124
  ZappPipesEntryContext.Context
131
125
  );
132
126
 
133
- const [modalState, setModalState] =
134
- React.useState<ModalState>(initialModalState);
127
+ const { openModal, dismissModal } = useModalStore();
135
128
 
136
129
  const playNextOverlayState = React.useRef();
137
130
 
@@ -153,6 +146,12 @@ export function NavigationProvider({ children }: Props) {
153
146
  [pathname, rivers]
154
147
  );
155
148
 
149
+ const getModalState: () => ModalState = () => {
150
+ const { modalState } = useModalStore.getState();
151
+
152
+ return modalState;
153
+ };
154
+
156
155
  const homeRiver = React.useMemo(
157
156
  () => homeRiverSelector({ rivers }),
158
157
  [rivers]
@@ -168,7 +167,7 @@ export function NavigationProvider({ children }: Props) {
168
167
  [rivers, homeRiver]
169
168
  );
170
169
 
171
- const getStack = () => [...stateRef?.current?.stack?.mainStack];
170
+ const getStack = () => [...state?.stack?.mainStack];
172
171
 
173
172
  const openVideoModal = (
174
173
  item: ZappEntry,
@@ -615,31 +614,6 @@ export function NavigationProvider({ children }: Props) {
615
614
  },
616
615
  });
617
616
 
618
- const openModal = React.useCallback(
619
- ({ item, options = {}, props = {} }: OpenModalArg) => {
620
- setModalState({
621
- visible: true,
622
- screen: item as ZappRiver,
623
- options: {
624
- animated: true,
625
- animationType: "slide",
626
- onShow: () => {},
627
- presentationStyle: "overFullScreen",
628
- transparent: true,
629
- ...options,
630
- onDismiss: () => {
631
- setModalState(initialModalState);
632
- },
633
- onRequestClose: () => {
634
- dismissModal();
635
- },
636
- },
637
- props,
638
- });
639
- },
640
- []
641
- );
642
-
643
617
  const openPiP = React.useCallback(() => {
644
618
  dispatch(setVideoPiP());
645
619
  }, []);
@@ -660,10 +634,6 @@ export function NavigationProvider({ children }: Props) {
660
634
  }
661
635
  }, [state?.options?.videoModal?.previousMode]);
662
636
 
663
- const dismissModal = React.useCallback(() => {
664
- setModalState(() => ({ ...initialModalState }));
665
- }, []);
666
-
667
637
  const openModalBottomSheet = React.useCallback(
668
638
  ({
669
639
  ModalBottomSheetContent,
@@ -698,7 +668,7 @@ export function NavigationProvider({ children }: Props) {
698
668
  const getStackForPathname = React.useCallback((pathname: string):
699
669
  | NavigationScreenState
700
670
  | undefined => {
701
- const stack = getStack();
671
+ const stack = [...stateRef?.current?.stack?.mainStack];
702
672
 
703
673
  const currentStack = stack.find(({ route }) => route === pathname);
704
674
 
@@ -730,7 +700,7 @@ export function NavigationProvider({ children }: Props) {
730
700
  modalData: state.stack.modal?.state ?? null,
731
701
  openModal,
732
702
  dismissModal,
733
- modalState,
703
+ getModalState,
734
704
  openModalBottomSheet,
735
705
  closeModalBottomSheet,
736
706
  videoModalState: state.options.videoModal,
@@ -748,14 +718,7 @@ export function NavigationProvider({ children }: Props) {
748
718
  getStack,
749
719
  getStackForPathname,
750
720
  }),
751
- [
752
- rivers,
753
- plugins,
754
- JSON.stringify(state),
755
- modalState,
756
- appLaunched,
757
- startUpHooks,
758
- ]
721
+ [rivers, plugins, JSON.stringify(state), appLaunched, startUpHooks]
759
722
  );
760
723
 
761
724
  // when running the tests, we pass the dispatch function
@@ -11,7 +11,9 @@ Object {
11
11
  "presentationStyle": "overFullScreen",
12
12
  "transparent": true,
13
13
  },
14
- "props": Object {},
14
+ "props": Object {
15
+ "screenData": Object {},
16
+ },
15
17
  "screen": Object {
16
18
  "id": "A1234",
17
19
  "navigations": Array [],
@@ -30,26 +32,7 @@ Object {
30
32
  }
31
33
  `;
32
34
 
33
- exports[`<NavigationProvider /> modal feature sets the modalState when opening a modal 1`] = `
34
- Object {
35
- "options": Object {
36
- "animated": true,
37
- "animationType": "slide",
38
- "onDismiss": [Function],
39
- "onRequestClose": [Function],
40
- "onShow": [Function],
41
- "presentationStyle": "overFullScreen",
42
- "transparent": true,
43
- },
44
- "props": Object {},
45
- "screen": Object {
46
- "id": "A1234",
47
- "navigations": Array [],
48
- "ui_components": Array [],
49
- },
50
- "visible": true,
51
- }
52
- `;
35
+ exports[`<NavigationProvider /> modal feature sets the modalState when opening a modal 1`] = `undefined`;
53
36
 
54
37
  exports[`<NavigationProvider /> modal feature should reset state to initial when dismissing a modal ( closeModalBottomSheet ) opened by openModalBottomSheet 1`] = `
55
38
  Object {
@@ -552,7 +552,7 @@ describe("<NavigationProvider />", () => {
552
552
 
553
553
  const view = wrapper.root.findByType(View);
554
554
  act(() => view.props.navigator.openModal({ item: rivers.A1234 }));
555
- expect(view.props.navigator.modalState).toMatchSnapshot();
555
+ expect(view.props.navigator.get).toMatchSnapshot();
556
556
  });
557
557
 
558
558
  it("removes the visible flag when dismissing a modal", () => {
@@ -568,10 +568,10 @@ describe("<NavigationProvider />", () => {
568
568
 
569
569
  const view = wrapper.root.findByType(View);
570
570
  act(() => view.props.navigator.openModal({ item: rivers.A1234 }));
571
- expect(view.props.navigator.modalState).toMatchSnapshot();
571
+ expect(view.props.navigator.getModalState()).toMatchSnapshot();
572
572
  act(() => view.props.navigator.dismissModal());
573
- expect(view.props.navigator.modalState.visible).toBeFalsy();
574
- expect(view.props.navigator.modalState).toMatchSnapshot();
573
+ expect(view.props.navigator.getModalState().visible).toBeFalsy();
574
+ expect(view.props.navigator.getModalState()).toMatchSnapshot();
575
575
  });
576
576
 
577
577
  it("should reset state to initial when dismissing a modal ( closeModalBottomSheet ) opened by openModalBottomSheet", () => {
@@ -594,9 +594,9 @@ describe("<NavigationProvider />", () => {
594
594
  })
595
595
  );
596
596
 
597
- expect(view.props.navigator.modalState).toMatchSnapshot();
597
+ expect(view.props.navigator.getModalState()).toMatchSnapshot();
598
598
  act(() => view.props.navigator.closeModalBottomSheet());
599
- expect(view.props.navigator.modalState).toMatchSnapshot();
599
+ expect(view.props.navigator.getModalState()).toMatchSnapshot();
600
600
  });
601
601
  });
602
602
  });
@@ -1,13 +1,20 @@
1
1
  // Jest Snapshot v1, https://goo.gl/fbAQLP
2
2
 
3
3
  exports[`<RouteManager /> renders correctly 1`] = `
4
- <WithProvider
5
- screenData={
6
- Object {
7
- "id": "A1234",
8
- }
4
+ <RNCSafeAreaProvider
5
+ onInsetsChange={[Function]}
6
+ style={
7
+ Array [
8
+ Object {
9
+ "flex": 1,
10
+ },
11
+ undefined,
12
+ ]
9
13
  }
10
- screenId="A1234"
11
- screenType="river"
12
- />
14
+ >
15
+ <View
16
+ comp="river"
17
+ testID="river"
18
+ />
19
+ </RNCSafeAreaProvider>
13
20
  `;
@@ -1,31 +1,42 @@
1
1
  import React from "react";
2
- import { shallow } from "enzyme";
3
- import { shallowToJson } from "enzyme-to-json";
4
2
 
5
- import { ScreenResolver } from "@applicaster/zapp-react-native-ui-components/Components/ScreenResolver";
3
+ const {
4
+ ScreenResolver,
5
+ } = require("@applicaster/zapp-react-native-ui-components/Components/ScreenResolver");
6
+
7
+ import { renderWithProviders } from "@applicaster/zapp-react-native-utils/testUtils";
6
8
 
7
9
  jest.mock("@applicaster/zapp-react-native-utils/reactHooks/navigation", () => ({
8
10
  useNavigation: jest.fn(() => ({
9
11
  screenId: { id: "A1234" },
10
12
  currentRoute: "/river/A1234",
11
13
  screenData: { id: "A1234" },
14
+ videoModalState: { mode: "WINDOWED" },
15
+ })),
16
+ useRoute: jest.fn(() => ({
17
+ pathname: "/river/A1234",
18
+ screenData: { id: "A1234-screenData" },
12
19
  })),
13
20
  }));
14
21
 
15
22
  const { RouteManager } = require("../");
16
23
 
17
24
  describe("<RouteManager />", () => {
18
- const wrapper = shallow(<RouteManager />);
25
+ let wrapper;
26
+
27
+ beforeEach(() => {
28
+ wrapper = renderWithProviders(<RouteManager />);
29
+ });
19
30
 
20
31
  it("renders correctly", () => {
21
- expect(shallowToJson(wrapper)).toMatchSnapshot();
32
+ expect(wrapper.toJSON()).toMatchSnapshot();
22
33
  });
23
34
 
24
35
  it("passes the correct props to ScreenResolver", () => {
25
- expect(wrapper.find(ScreenResolver).props()).toEqual({
36
+ expect(wrapper.UNSAFE_getByType(ScreenResolver).props).toEqual({
26
37
  screenType: "river",
27
38
  screenId: "A1234",
28
- screenData: { id: "A1234" },
39
+ screenData: { id: "A1234-screenData" },
29
40
  });
30
41
  });
31
42
  });
@@ -4,7 +4,7 @@ import * as R from "ramda";
4
4
  import { getPathAttributes } from "@applicaster/zapp-react-native-utils/navigationUtils";
5
5
  import { ScreenResolver } from "@applicaster/zapp-react-native-ui-components/Components/ScreenResolver";
6
6
 
7
- import { useNavigation } from "@applicaster/zapp-react-native-utils/reactHooks/navigation";
7
+ import { useRoute } from "@applicaster/zapp-react-native-utils/reactHooks/navigation";
8
8
 
9
9
  type Props = any;
10
10
 
@@ -14,7 +14,8 @@ type Props = any;
14
14
  * @param {Props}: see props above
15
15
  */
16
16
  export const RouteManager = React.memo(function RouteManager(props: Props) {
17
- const { currentRoute: pathname, screenData } = useNavigation();
17
+ const { pathname, screenData } = useRoute();
18
+
18
19
  const pathAttributes = getPathAttributes({ pathname });
19
20
 
20
21
  if (!pathAttributes.length) {
@@ -1,8 +1,9 @@
1
1
  import * as R from "ramda";
2
2
  import * as React from "react";
3
3
 
4
+ import { isEqual } from "@applicaster/zapp-react-native-utils/equalUtils";
4
5
  import { ThemeContext } from "@applicaster/zapp-react-native-utils/theme";
5
- import { useDimensions } from "@applicaster/zapp-react-native-utils/reactHooks";
6
+ import { useIsTablet } from "@applicaster/zapp-react-native-utils/reactHooks";
6
7
  import {
7
8
  mapKeys,
8
9
  partitionByKeys,
@@ -35,7 +36,7 @@ function populateTheme(plugin) {
35
36
 
36
37
  const TABLET_PREFIX = "tablet_";
37
38
 
38
- const prepareForTablet = (dimensions) => (themeProps) => {
39
+ const prepareForTablet = (isTablet) => (themeProps) => {
39
40
  const [tabletThemeProps, mobileTheme] = partitionByKeys(
40
41
  R.compose(R.startsWith(TABLET_PREFIX), R.head),
41
42
  themeProps
@@ -62,12 +63,12 @@ const prepareForTablet = (dimensions) => (themeProps) => {
62
63
  R.omit(["tablet_theme"])
63
64
  )(tabletThemeProps);
64
65
 
65
- return dimensions.deviceInfo.isTablet ? tabletTheme : mobileTheme;
66
+ return isTablet ? tabletTheme : mobileTheme;
66
67
  };
67
68
 
68
- const selectThemes = (dimensions, plugins) =>
69
+ const selectThemes = (isTablet, plugins) =>
69
70
  R.compose(
70
- R.map(prepareForTablet(dimensions)),
71
+ R.map(prepareForTablet(isTablet)),
71
72
  R.fromPairs,
72
73
  R.reject(R.isNil),
73
74
  R.map(populateTheme),
@@ -80,36 +81,38 @@ const ThemeContextProvider = ({
80
81
  setSelectedThemeId,
81
82
  children,
82
83
  }: any) => {
83
- const value = React.useMemo(
84
- () => ({ themes, selectedThemeId, setSelectedThemeId }),
85
- [themes, selectedThemeId, setSelectedThemeId]
86
- );
84
+ const value = { themes, selectedThemeId, setSelectedThemeId };
87
85
 
88
86
  return (
89
87
  <ThemeContext.Provider value={value}>{children}</ThemeContext.Provider>
90
88
  );
91
89
  };
92
90
 
91
+ const MemoizedThemeContextProvider = React.memo(
92
+ ThemeContextProvider,
93
+ isEqual({
94
+ byValue: ["selectedThemeId", "setSelectedThemeId"],
95
+ byReference: ["children", "themes"],
96
+ })
97
+ );
98
+
93
99
  function ThemeManagerComponent({ children, plugins }: Props) {
94
- const dimensions = useDimensions("screen", { deviceInfo: true });
95
- const [themes, setThemes] = React.useState(selectThemes(dimensions, plugins));
100
+ const isTablet = useIsTablet();
101
+
102
+ const themes = selectThemes(isTablet, plugins);
96
103
 
97
104
  const [selectedThemeId, setSelectedThemeId] =
98
105
  React.useState(DEFAULT_THEME_ID);
99
106
 
100
- React.useEffect(() => {
101
- setThemes(selectThemes(dimensions, plugins));
102
- }, [plugins, dimensions]);
103
-
104
107
  return (
105
- <ThemeContextProvider
108
+ <MemoizedThemeContextProvider
106
109
  themes={themes}
107
110
  selectedThemeId={selectedThemeId}
108
111
  setSelectedThemeId={setSelectedThemeId}
109
112
  >
110
113
  {children}
111
- </ThemeContextProvider>
114
+ </MemoizedThemeContextProvider>
112
115
  );
113
116
  }
114
117
 
115
- export const ThemeManager = React.memo<Props>(ThemeManagerComponent);
118
+ export const ThemeManager = ThemeManagerComponent;
@@ -15,6 +15,11 @@ jest.mock(
15
15
  // This is meant to silence errors with react-native-gesture-handler
16
16
  jest.mock("../ModalProvider/ModalBottomSheet", () => () => null);
17
17
 
18
+ jest.mock(
19
+ "@applicaster/zapp-react-native-ui-components/Components/VideoModal/ModalAnimation",
20
+ () => () => null
21
+ );
22
+
18
23
  jest.mock("react-native-safe-area-context", () => ({
19
24
  SafeAreaProvider: jest.fn(
20
25
  () =>
package/App/index.tsx CHANGED
@@ -5,11 +5,6 @@ import {
5
5
  initialWindowMetrics,
6
6
  } from "react-native-safe-area-context";
7
7
 
8
- import type {
9
- AppComponentProps,
10
- ZappApp,
11
- } from "@applicaster/zapp-react-native-flow-types";
12
-
13
8
  import { ErrorBoundary } from "./ErrorBoundary";
14
9
  import { RouteManager } from "./RouteManager";
15
10
  import { withNavigationProvider } from "./NavigationProvider";
@@ -27,6 +27,7 @@ Object {
27
27
  "AppContainer": [Function],
28
28
  "ContentScreen": [Function],
29
29
  "HookRenderer": [Function],
30
+ "ModalComponent": [Function],
30
31
  "PlayerContainer": Object {
31
32
  "$$typeof": Symbol(react.memo),
32
33
  "WrappedComponent": Object {
@@ -8,11 +8,6 @@ import * as React from "react";
8
8
  import * as R from "ramda";
9
9
  import { Dimensions } from "react-native";
10
10
 
11
- import type {
12
- AppComponentProps,
13
- ZappAppConfig,
14
- } from "@applicaster/zapp-react-native-flow-types";
15
-
16
11
  import {
17
12
  createZappReduxStore,
18
13
  loadAppContextData,
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/quick-brick-core",
3
- "version": "12.0.0-alpha.5643066061",
3
+ "version": "12.0.0-alpha.5675222257",
4
4
  "description": "Core package for Applicaster's Quick Brick App",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -30,15 +30,15 @@
30
30
  },
31
31
  "homepage": "https://github.com/applicaster/quickbrick#readme",
32
32
  "dependencies": {
33
- "@applicaster/applicaster-types": "12.0.0-alpha.5643066061",
34
- "@applicaster/quick-brick-core-plugins": "12.0.0-alpha.5643066061",
35
- "@applicaster/zapp-pipes-v2-client": "12.0.0-alpha.5643066061",
36
- "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.5643066061",
37
- "@applicaster/zapp-react-native-redux": "12.0.0-alpha.5643066061",
38
- "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.5643066061",
39
- "@applicaster/zapp-react-native-utils": "12.0.0-alpha.5643066061",
33
+ "@applicaster/applicaster-types": "12.0.0-alpha.5675222257",
34
+ "@applicaster/quick-brick-core-plugins": "12.0.0-alpha.5675222257",
35
+ "@applicaster/zapp-pipes-v2-client": "12.0.0-alpha.5675222257",
36
+ "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.5675222257",
37
+ "@applicaster/zapp-react-native-redux": "12.0.0-alpha.5675222257",
38
+ "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.5675222257",
39
+ "@applicaster/zapp-react-native-utils": "12.0.0-alpha.5675222257",
40
40
  "atob": "^2.1.2",
41
- "axios": "^0.21.2",
41
+ "axios": "^0.28.0",
42
42
  "btoa": "^1.2.1",
43
43
  "camelize": "^1.0.0",
44
44
  "md5": "^2.3.0",
@@ -58,7 +58,6 @@
58
58
  "react-native-safe-area-context": "*"
59
59
  },
60
60
  "devDependencies": {
61
- "@applicaster/zapp-react-native-flow-types": "1.5.0",
62
61
  "@types/react-native": "0.69.6",
63
62
  "@types/tizen-tv-webapis": "^2.0.1",
64
63
  "nock": "^10.0.0",