\n {!hideHeader && (\n \n {showDebugToolBar && }\n setDrawerOpen(!drawerOpen)}\n onUserActionClick={onUserActionClick}\n showAvatar={!isCheckout && !isImpersonationMode}\n showCartIcon={\n showCartIconOnHeader &&\n !isFirstLogin &&\n !isCheckout &&\n !isImpersonationMode\n }\n showCulturePicker={!isCheckout}\n showFavoritesIcon={\n !isCheckout && !isImpersonationMode && !resellerProspect\n }\n showImpersonationHeader={isImpersonationMode}\n showSeachBar={\n !hideSearchBar &&\n !resellerProspect &&\n !isResellerProspectPublicRoute &&\n isNotAppstorePath\n }\n />\n
\n )}\n \n \n {isFrame ? (\n }>\n \n \n \n ) : (\n \n \n \n \n \n \n }\n >\n \n \n \n \n {(!hideFooter &&\n (isCart ? (\n \n ) : (\n \n ))) ||\n null}\n \n \n )}\n \n \n \n {isReady && boValues['ACC_MGMT_EnableX4CReactUI'] ? (\n <>>\n ) : (\n \n )}\n {/* */}\n \n\n {/* Drawer at the end so its menus are above the View */}\n {!hideSideNav && (\n \n )}\n {isMobile && !isAuthenticated\n ? null\n : !hideSideNav && !resellerProspect && }\n {isLogoutEnabled && }\n \n >\n );\n}\n\nfunction RenderContent({ appRoutes }: { appRoutes: RouteObject[] }) {\n const content = useRoutes(appRoutes);\n return content;\n}\n\nconst Root = styled('div')(() => ({\n margin: 'auto',\n maxWidth: '1920px',\n minHeight: `calc(100vh - ${win.LAYOUT_SPECS.HEADER_HEIGHT}px)`,\n}));\n\ndeclare global {\n interface Window {\n OOo: any;\n }\n}\n","import { useEffect, useState } from 'react';\nimport { useGetWidgetConfig } from 'mf_shared/widget';\n\nexport function useAreWidgetsConfigured() {\n const [areWidgetsConfigured, setAreWidgetsConfigured] = useState(false);\n\n const { data } = useGetWidgetConfig();\n\n useEffect(() => {\n const selectedWidgets = data?.widgets.filter(\n (item: any) => item.isSelected\n );\n const hasWidgets = selectedWidgets ? selectedWidgets.length > 0 : false;\n\n setAreWidgetsConfigured(hasWidgets);\n }, [data?.widgets]);\n\n return areWidgetsConfigured;\n}\n","import { useMemo } from 'react';\nimport { RouteObject } from 'react-router-dom';\n\nimport { useMfsRoutes } from './useMfsRoutes';\nimport { buildAppRoutes } from './buildAppRoutes';\n\nexport function useAppRoutes() {\n const mfsRoutes = useMfsRoutes();\n\n return useMemo(() => {\n if (!mfsRoutes) {\n return;\n }\n\n const authRoutes = [] as RouteObject[];\n const publicRoutes = [] as RouteObject[];\n\n mfsRoutes.forEach(\n (route) => {\n if (route.path && route.path.startsWith('my/')) {\n const clonedRoute: RouteObject = {\n ...route,\n path: route.path.substring('my/'.length),\n };\n authRoutes.push(clonedRoute);\n } else {\n publicRoutes.push(route);\n }\n },\n [mfsRoutes]\n );\n\n return buildAppRoutes(authRoutes, publicRoutes);\n }, [mfsRoutes]);\n}\n","import { useEffect, useState } from 'react';\nimport { RouteObject } from 'react-router-dom';\nimport { getMfsRoutes } from 'mf_core/routing';\n\nimport { mfNames } from '../mfNames';\n\nexport function useMfsRoutes() {\n const [routes, setRoutes] = useState