diff --git a/bootstrap.js b/bootstrap.js
index 2227a0edc..bdb96b828 100644
--- a/bootstrap.js
+++ b/bootstrap.js
@@ -1,13 +1,10 @@
import 'core-js/stable';
import 'regenerator-runtime/runtime';
-
import React from 'react';
import { createRoot } from 'react-dom/client';
import App from './src/App';
-export default function init() {
- const container = document.getElementById('root');
- const root = createRoot(container);
- root.render();
-}
+const container = document.getElementById('root');
+const root = createRoot(container);
+root.render();
diff --git a/index.js b/index.js
index 3a9510d40..eb5c7e073 100644
--- a/index.js
+++ b/index.js
@@ -49,7 +49,6 @@ export { supportedNumberingSystems } from './src/loginServices';
export { userLocaleConfig } from './src/loginServices';
export * from './src/consortiaServices';
export { default as queryLimit } from './src/queryLimit';
-export { default as init } from './src/init';
/* localforage wrappers hide the session key */
export { getOkapiSession, getTokenExpiry, setTokenExpiry } from './src/loginServices';
diff --git a/src/AppRoutes.js b/src/AppRoutes.js
index 4996ba727..f01cc26a4 100644
--- a/src/AppRoutes.js
+++ b/src/AppRoutes.js
@@ -1,8 +1,9 @@
-import React, { useMemo } from 'react';
+import React, { useMemo, Suspense } from 'react';
import { Route } from 'react-router-dom';
import PropTypes from 'prop-types';
import { connectFor } from '@folio/stripes-connect';
+import { LoadingView } from '@folio/stripes-components';
import { StripesContext } from './StripesContext';
import TitleManager from './components/TitleManager';
@@ -50,37 +51,39 @@ const AppRoutes = ({ modules, stripes }) => {
}, [modules.app, stripes]);
return cachedModules.map(({ ModuleComponent, connect, module, name, moduleStripes, stripes: propsStripes, displayName }) => (
- {
- const data = { displayName, name };
+ }>
+ {
+ const data = { displayName, name };
- // allow SELECT_MODULE handlers to intervene
- const handlerComponents = getEventHandlers(events.SELECT_MODULE, moduleStripes, modules.handler, data);
- if (handlerComponents.length) {
- return handlerComponents.map(Handler => ());
- }
+ // allow SELECT_MODULE handlers to intervene
+ const handlerComponents = getEventHandlers(events.SELECT_MODULE, moduleStripes, modules.handler, data);
+ if (handlerComponents.length) {
+ return handlerComponents.map(Handler => ());
+ }
- return (
-
-
-
-
-
-
-
-
-
-
-
- );
- }}
- />
+ return (
+
+
+
+
+
+
+
+
+
+
+
+ );
+ }}
+ />
+
));
};
diff --git a/src/ModuleRoutes.js b/src/ModuleRoutes.js
index d1dc65ce0..08046067f 100644
--- a/src/ModuleRoutes.js
+++ b/src/ModuleRoutes.js
@@ -71,11 +71,7 @@ function ModuleRoutes({ stripes }) {
);
}
- return (
- }>
-
-
- );
+ return ;
}}
);
diff --git a/src/Pluggable.js b/src/Pluggable.js
index 73d976a2b..6685366e1 100644
--- a/src/Pluggable.js
+++ b/src/Pluggable.js
@@ -1,6 +1,8 @@
import React, { useMemo, Suspense } from 'react';
import PropTypes from 'prop-types';
+
import { Icon } from '@folio/stripes-components';
+
import { useModules } from './ModulesContext';
import { withStripes } from './StripesContext';
import { ModuleHierarchyProvider } from './components';
diff --git a/src/RootWithIntl.js b/src/RootWithIntl.js
index baa2a1e26..118da5bd4 100644
--- a/src/RootWithIntl.js
+++ b/src/RootWithIntl.js
@@ -53,131 +53,129 @@ const RootWithIntl = ({ stripes, token = '', isAuthenticated = false, disableAut
return (
-
-
-
-
-
-
- { isAuthenticated || token || disableAuth ?
- <>
-
-
-
- {typeof connectedStripes?.config?.staleBundleWarning === 'object' && }
-
- { (typeof connectedStripes.okapi !== 'object' || connectedStripes.discovery.isFinished) && (
-
-
- {connectedStripes.config.useSecureTokens && }
-
- }
- />
- }
- />
- }
- />
- }
- />
- }
- />
- }
- />
-
-
-
- )}
-
-
-
- > :
-
- {/* The ? after :token makes that part of the path optional, so that token may optionally
- be passed in via URL parameter to avoid length restrictions */}
- }
- />
- }
- key="sso-landing"
- />
- }
- key="oidc-landing"
- />
- }
- />
- }
- />
- }
- />
- }
- />
- }
- />
- }
- />
-
- }
-
-
-
-
-
+
+
+
+
+
+ { isAuthenticated || token || disableAuth ?
+ <>
+
+
+
+ {typeof connectedStripes?.config?.staleBundleWarning === 'object' && }
+
+ { (typeof connectedStripes.okapi !== 'object' || connectedStripes.discovery.isFinished) && (
+
+
+ {connectedStripes.config.useSecureTokens && }
+
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+
+
+
+ )}
+
+
+
+ > :
+
+ {/* The ? after :token makes that part of the path optional, so that token may optionally
+ be passed in via URL parameter to avoid length restrictions */}
+ }
+ />
+ }
+ key="sso-landing"
+ />
+ }
+ key="oidc-landing"
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+ }
+ />
+
+ }
+
+
+
+
diff --git a/src/components/About/WarningBanner.js b/src/components/About/WarningBanner.js
index 1ff3867b2..528f806cc 100644
--- a/src/components/About/WarningBanner.js
+++ b/src/components/About/WarningBanner.js
@@ -48,7 +48,7 @@ const WarningBanner = ({
{missingModulesMsg}
@@ -61,7 +61,7 @@ const WarningBanner = ({
{incompatibleModuleMsg}
diff --git a/src/loginServices.js b/src/loginServices.js
index 96dc17f4f..17023704a 100644
--- a/src/loginServices.js
+++ b/src/loginServices.js
@@ -252,7 +252,7 @@ function dispatchLocale(url, store, tenant) {
})
.then((response) => {
if (response.ok) {
- response.json().then((json) => {
+ return response.json().then((json) => {
if (json.configs?.length) {
const localeValues = JSON.parse(json.configs[0].value);
const { locale, timezone, currency } = localeValues;