@applicaster/quick-brick-core 12.0.0-alpha.5468407101 → 12.0.0-alpha.5471145113

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.
@@ -64,6 +64,8 @@ import { ZappPipesEntryContext } from "@applicaster/zapp-react-native-ui-compone
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
66
  import { useModalStore } from "@applicaster/zapp-react-native-utils/modalState";
67
+ import { useSubscriberFor } from "@applicaster/zapp-react-native-utils/reactHooks/useSubscriberFor";
68
+ import { QBUIComponentEvents } from "@applicaster/zapp-react-native-ui-components/events";
67
69
 
68
70
  const logger = coreAppLogger.addSubsystem("Navigator");
69
71
 
@@ -130,6 +132,10 @@ export function NavigationProvider({ children }: Props) {
130
132
 
131
133
  const online = useConnectionInfo(true);
132
134
 
135
+ const replaceEvent = useSubscriberFor(
136
+ QBUIComponentEvents.navigatorReplaceItem
137
+ );
138
+
133
139
  React.useEffect(() => {
134
140
  stateRef.current = state;
135
141
  pathnameRef.current = pathname;
@@ -259,6 +265,7 @@ export function NavigationProvider({ children }: Props) {
259
265
  item?.id !==
260
266
  legacyScreenData(state?.location?.state as NavigationScreenData)?.id
261
267
  ) {
268
+ replaceEvent();
262
269
  navigateTo(item, ACTIONS.REPLACE, options);
263
270
  }
264
271
  };
@@ -665,15 +672,15 @@ export function NavigationProvider({ children }: Props) {
665
672
 
666
673
  // It will only work for the regular stack and pathname, It won't work for modals
667
674
  // TODO: integrate video/hook and regular modal into stack.
668
- const getStackForPathname = React.useCallback((pathname: string):
669
- | NavigationScreenState
670
- | undefined => {
671
- const stack = [...stateRef?.current?.stack?.mainStack];
675
+ const getStackForPathname = (
676
+ pathname: string
677
+ ): NavigationScreenState | undefined => {
678
+ const stack = [...state?.stack?.mainStack];
672
679
 
673
680
  const currentStack = stack.find(({ route }) => route === pathname);
674
681
 
675
682
  return currentStack;
676
- }, []);
683
+ };
677
684
 
678
685
  const navigator: QuickBrickAppNavigator = React.useMemo(
679
686
  () => ({
@@ -717,6 +724,7 @@ export function NavigationProvider({ children }: Props) {
717
724
  replaceTop,
718
725
  getStack,
719
726
  getStackForPathname,
727
+ mainStack: state.stack.mainStack,
720
728
  }),
721
729
  [rivers, plugins, JSON.stringify(state), appLaunched, startUpHooks]
722
730
  );
@@ -3,7 +3,10 @@ import * as R from "ramda";
3
3
 
4
4
  import { NetInfoState } from "@react-native-community/netinfo";
5
5
  import { NETWORK_HOOKS_KEYS } from "./const";
6
- import { platformSelect } from "@applicaster/zapp-react-native-utils/reactUtils";
6
+ import {
7
+ isVizioPlatform,
8
+ platformSelect,
9
+ } from "@applicaster/zapp-react-native-utils/reactUtils";
7
10
  import { Platform } from "react-native";
8
11
 
9
12
  type ConnectionStatus = boolean;
@@ -203,6 +206,18 @@ export const subscribeToDeviceNetworkChanges = (callback: NetCb) => {
203
206
  registeredListener = webapis.network.addNetworkStateChangeListener(
204
207
  samsungNetworkChangeHandler(callback)
205
208
  );
209
+
210
+ return;
211
+ }
212
+
213
+ if (isVizioPlatform()) {
214
+ window.addEventListener("online", function () {
215
+ callback({ online: true });
216
+ });
217
+
218
+ window.addEventListener("offline", function () {
219
+ callback({ online: false });
220
+ });
206
221
  }
207
222
  };
208
223
 
@@ -214,5 +229,12 @@ export const subscribeToDeviceNetworkChanges = (callback: NetCb) => {
214
229
  export const unsubscribeToDeviceNetworkChanges = (id = registeredListener) => {
215
230
  if (hasTizenAPIs()) {
216
231
  webapis.network.removeNetworkStateChangeListener(id);
232
+
233
+ return;
234
+ }
235
+
236
+ if (isVizioPlatform()) {
237
+ window.removeEventListener("online", function () {});
238
+ window.removeEventListener("offline", function () {});
217
239
  }
218
240
  };
package/App/index.tsx CHANGED
@@ -1,8 +1,8 @@
1
1
  import * as React from "react";
2
2
  import * as R from "ramda";
3
3
  import {
4
- SafeAreaProvider,
5
4
  initialWindowMetrics,
5
+ SafeAreaProvider,
6
6
  } from "react-native-safe-area-context";
7
7
 
8
8
  import { ErrorBoundary } from "./ErrorBoundary";
@@ -27,6 +27,7 @@ import {
27
27
  import { withURLSchemeContextProvider } from "./DeepLinking/URLSchemeListener/URLSchemeContextProvider";
28
28
  import { appRemoteDataLoader } from "./appRemoteDataLoader";
29
29
  import { withActionExecutor } from "@applicaster/zapp-react-native-utils/actionsExecutor/ActionExecutorContext";
30
+ import { withScreenDataContextProvider } from "@applicaster/zapp-react-native-ui-components/Contexts/ScreenDataContext";
30
31
 
31
32
  /**
32
33
  * @typedef {Object} AppOptions
@@ -99,6 +100,7 @@ export function createQuickBrickApp(options): ZappApp {
99
100
  withURLSchemeContextProvider,
100
101
  withNetworkStatusProvider,
101
102
  withNavigationProvider,
103
+ withScreenDataContextProvider,
102
104
  ZappPipesSearchContext.withProvider,
103
105
  InteractionManager,
104
106
  withActionExecutor,
package/const/index.ts CHANGED
@@ -34,3 +34,7 @@ export const requiredSessionKeys = [
34
34
  "userAgent",
35
35
  "version_name",
36
36
  ];
37
+
38
+ export const QUICK_BRICK_NAVBAR = "quick-brick-navbar";
39
+
40
+ export const QUICK_BRICK_CONTENT = "quick-brick-content";
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@applicaster/quick-brick-core",
3
- "version": "12.0.0-alpha.5468407101",
3
+ "version": "12.0.0-alpha.5471145113",
4
4
  "description": "Core package for Applicaster's Quick Brick App",
5
5
  "main": "index.js",
6
6
  "types": "index.d.ts",
@@ -30,13 +30,13 @@
30
30
  },
31
31
  "homepage": "https://github.com/applicaster/quickbrick#readme",
32
32
  "dependencies": {
33
- "@applicaster/applicaster-types": "12.0.0-alpha.5468407101",
34
- "@applicaster/quick-brick-core-plugins": "12.0.0-alpha.5468407101",
35
- "@applicaster/zapp-pipes-v2-client": "12.0.0-alpha.5468407101",
36
- "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.5468407101",
37
- "@applicaster/zapp-react-native-redux": "12.0.0-alpha.5468407101",
38
- "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.5468407101",
39
- "@applicaster/zapp-react-native-utils": "12.0.0-alpha.5468407101",
33
+ "@applicaster/applicaster-types": "12.0.0-alpha.5471145113",
34
+ "@applicaster/quick-brick-core-plugins": "12.0.0-alpha.5471145113",
35
+ "@applicaster/zapp-pipes-v2-client": "12.0.0-alpha.5471145113",
36
+ "@applicaster/zapp-react-native-bridge": "12.0.0-alpha.5471145113",
37
+ "@applicaster/zapp-react-native-redux": "12.0.0-alpha.5471145113",
38
+ "@applicaster/zapp-react-native-ui-components": "12.0.0-alpha.5471145113",
39
+ "@applicaster/zapp-react-native-utils": "12.0.0-alpha.5471145113",
40
40
  "atob": "^2.1.2",
41
41
  "axios": "^0.28.0",
42
42
  "btoa": "^1.2.1",