@equinor/mad-core
Version:
Core library for the Mobile App Delivery team
99 lines (96 loc) • 4.11 kB
JavaScript
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
};