UNPKG

@equinor/mad-core

Version:

Core library for the Mobile App Delivery team

99 lines (96 loc) 4.11 kB
import { ReleaseNotesScreen } from "./chunk-TWUGCMPQ.js"; import { WhatsNewScreen } from "./chunk-CKOB6JKU.js"; import { CreateIncidentScreen } from "./chunk-ZIV7DVBA.js"; import { SelectLanguageScreen } from "./chunk-STKI44UB.js"; import { AboutScreen } from "./chunk-ZAJCJP22.js"; import { LoginScreen } from "./chunk-GNJZV3PL.js"; import { MadCoreProviders } from "./chunk-6LMMRQYQ.js"; import { getDefaultScreenOptionsForLoginScreen } from "./chunk-RGJ4RWVB.js"; import { useMadConfig } from "./chunk-GEEFQMRN.js"; import { CoreRoutes } from "./chunk-UKAZW3CQ.js"; import { __spreadProps, __spreadValues } from "./chunk-CWMXXUWU.js"; // src/utils/createMadCoreNavigator.tsx import React from "react"; var createMadCoreNativeStackNavigator = (Stack) => { function MadCoreNavigator(props) { const config = useMadConfig(); if (!config) return null; return /* @__PURE__ */ React.createElement(MadCoreProviders, { config, type: "native-stack" }, /* @__PURE__ */ React.createElement(Stack.Navigator, __spreadProps(__spreadValues({}, props), { initialRouteName: CoreRoutes.LOGIN }), config.login.addScreenManually !== true && /* @__PURE__ */ React.createElement( Stack.Screen, { name: CoreRoutes.LOGIN, component: LoginScreen, options: getDefaultScreenOptionsForLoginScreen() } ), /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.RELEASE_NOTES, component: ReleaseNotesScreen }), /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.WHATS_NEW, component: WhatsNewScreen }), config.about && /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.ABOUT, component: AboutScreen }), config.serviceNow && /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.FEEDBACK, component: CreateIncidentScreen }), config.language.supportedLanguages.length > 1 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement( Stack.Screen, { name: CoreRoutes.SELECT_LANGUAGE, component: SelectLanguageScreen } ), /* @__PURE__ */ React.createElement( Stack.Screen, { name: CoreRoutes.SELECT_LANGUAGE_ONBOARDING, component: SelectLanguageScreen, options: { headerBackVisible: false } } )), props.children)); } return MadCoreNavigator; }; var createMadCoreStackNavigator = (Stack) => { function MadCoreNavigator(props) { const config = useMadConfig(); if (!config) return null; return /* @__PURE__ */ React.createElement(MadCoreProviders, { config, type: "stack" }, /* @__PURE__ */ React.createElement(Stack.Navigator, __spreadProps(__spreadValues({}, props), { initialRouteName: CoreRoutes.LOGIN }), config.login.addScreenManually !== true && /* @__PURE__ */ React.createElement( Stack.Screen, { name: CoreRoutes.LOGIN, component: LoginScreen, options: getDefaultScreenOptionsForLoginScreen() } ), /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.RELEASE_NOTES, component: ReleaseNotesScreen }), /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.WHATS_NEW, component: WhatsNewScreen }), config.about && /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.ABOUT, component: AboutScreen }), config.serviceNow && /* @__PURE__ */ React.createElement(Stack.Screen, { name: CoreRoutes.FEEDBACK, component: CreateIncidentScreen }), config.language.supportedLanguages.length > 1 && /* @__PURE__ */ React.createElement(React.Fragment, null, /* @__PURE__ */ React.createElement( Stack.Screen, { name: CoreRoutes.SELECT_LANGUAGE, component: SelectLanguageScreen } ), /* @__PURE__ */ React.createElement( Stack.Screen, { name: CoreRoutes.SELECT_LANGUAGE_ONBOARDING, component: SelectLanguageScreen, options: { headerLeft: () => null } } )), props.children)); } return MadCoreNavigator; }; export { createMadCoreNativeStackNavigator, createMadCoreStackNavigator };