mirror of
https://github.com/Tria-plc/emaui.git
synced 2026-08-26 19:12:50 +00:00
fix configuration of iam moudle
This commit is contained in:
@@ -2,57 +2,13 @@ import { createBrowserRouter, RouterProvider, Navigate } from 'react-router-dom'
|
|||||||
import {
|
import {
|
||||||
Login,
|
Login,
|
||||||
SetPasswordPage,
|
SetPasswordPage,
|
||||||
UserManagementLayout,
|
|
||||||
UserManagementPage,
|
|
||||||
BulkUploadPage,
|
|
||||||
ArchivedUsersPage,
|
|
||||||
PositionManagementPage,
|
|
||||||
CreatePositionPage,
|
|
||||||
EditPositionPage,
|
|
||||||
} from '@tria-plc/iamui-common';
|
} from '@tria-plc/iamui-common';
|
||||||
import { ProtectedRoute } from './ProtectedRoute';
|
|
||||||
import { BackofficeLayout } from '../layouts/BackofficeLayout';
|
|
||||||
import { AuthLayout } from '../layouts/AuthLayout';
|
import { AuthLayout } from '../layouts/AuthLayout';
|
||||||
import { DashboardPage } from '../features/dashboard/pages/DashboardPage';
|
import { AuthProviders } from '../iam/IamProviders';
|
||||||
import { ItemPage } from '../features/item/pages/ItemPage';
|
import UserManagementHostPage from '../features/user-management-host/UserManagementHostPage';
|
||||||
import { AuditLogPageWrapper } from '../iam/pages/AuditLogPage';
|
|
||||||
import { IamProviders, AuthProviders } from '../iam/IamProviders';
|
|
||||||
|
|
||||||
const router = createBrowserRouter([
|
const router = createBrowserRouter([
|
||||||
{
|
|
||||||
element: (
|
|
||||||
<AuthProviders>
|
|
||||||
<ProtectedRoute />
|
|
||||||
</AuthProviders>
|
|
||||||
),
|
|
||||||
children: [
|
|
||||||
{
|
|
||||||
element: <BackofficeLayout />,
|
|
||||||
children: [
|
|
||||||
{ path: '/', element: <Navigate to="/dashboard" replace /> },
|
|
||||||
{ path: '/dashboard', element: <DashboardPage /> },
|
|
||||||
{ path: '/items', element: <ItemPage /> },
|
|
||||||
{
|
|
||||||
path: '/user-management',
|
|
||||||
element: (
|
|
||||||
<IamProviders>
|
|
||||||
<UserManagementLayout />
|
|
||||||
</IamProviders>
|
|
||||||
),
|
|
||||||
children: [
|
|
||||||
{ index: true, element: <UserManagementPage /> },
|
|
||||||
{ path: 'bulk-upload', element: <BulkUploadPage /> },
|
|
||||||
{ path: 'archived-users', element: <ArchivedUsersPage /> },
|
|
||||||
{ path: 'position-management', element: <PositionManagementPage /> },
|
|
||||||
{ path: 'position-management/new', element: <CreatePositionPage /> },
|
|
||||||
{ path: 'position-management/edit/:id', element: <EditPositionPage /> },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{ path: '/audit-log', element: <AuditLogPageWrapper /> },
|
|
||||||
],
|
|
||||||
},
|
|
||||||
],
|
|
||||||
},
|
|
||||||
{
|
{
|
||||||
element: (
|
element: (
|
||||||
<AuthProviders>
|
<AuthProviders>
|
||||||
@@ -64,6 +20,7 @@ const router = createBrowserRouter([
|
|||||||
{ path: '/otp-verify', element: <SetPasswordPage /> },
|
{ path: '/otp-verify', element: <SetPasswordPage /> },
|
||||||
],
|
],
|
||||||
},
|
},
|
||||||
|
{ path: '/um/*', element: <UserManagementHostPage /> },
|
||||||
{ path: '/404', element: <div>Page not found</div> },
|
{ path: '/404', element: <div>Page not found</div> },
|
||||||
{ path: '*', element: <Navigate to="/404" replace /> },
|
{ path: '*', element: <Navigate to="/404" replace /> },
|
||||||
]);
|
]);
|
||||||
|
|||||||
@@ -2,6 +2,20 @@ import { defineConfig } from 'vite';
|
|||||||
import react from '@vitejs/plugin-react';
|
import react from '@vitejs/plugin-react';
|
||||||
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
import { nxViteTsPaths } from '@nx/vite/plugins/nx-tsconfig-paths.plugin';
|
||||||
|
|
||||||
|
function userManagementSpaFallback() {
|
||||||
|
const rewrite = (req) => {
|
||||||
|
const url = req.url || '';
|
||||||
|
if (!url.startsWith('/_um/') && url !== '/_um') return;
|
||||||
|
if (/\.[a-zA-Z0-9]+$/.test(url.split('?')[0])) return; // real assets pass through
|
||||||
|
req.url = '/_um/index.html';
|
||||||
|
};
|
||||||
|
return {
|
||||||
|
name: 'user-management-spa-fallback',
|
||||||
|
configureServer(s) { s.middlewares.use((req, _res, next) => { rewrite(req); next(); }); },
|
||||||
|
configurePreviewServer(s) { s.middlewares.use((req, _res, next) => { rewrite(req); next(); }); },
|
||||||
|
};
|
||||||
|
}
|
||||||
|
|
||||||
export default defineConfig({
|
export default defineConfig({
|
||||||
root: __dirname,
|
root: __dirname,
|
||||||
cacheDir: '../../node_modules/.vite/apps/backoffice',
|
cacheDir: '../../node_modules/.vite/apps/backoffice',
|
||||||
@@ -12,7 +26,7 @@ export default defineConfig({
|
|||||||
preview: { port: 4201, host: 'localhost' },
|
preview: { port: 4201, host: 'localhost' },
|
||||||
plugins: [react(), nxViteTsPaths()],
|
plugins: [react(), nxViteTsPaths()],
|
||||||
resolve: {
|
resolve: {
|
||||||
dedupe: ['react', 'react-dom', 'react-router-dom', '@tanstack/react-query'],
|
dedupe: [userManagementSpaFallback(), 'react', 'react-dom', 'react-router-dom', '@tanstack/react-query'],
|
||||||
},
|
},
|
||||||
build: {
|
build: {
|
||||||
outDir: '../../dist/apps/backoffice',
|
outDir: '../../dist/apps/backoffice',
|
||||||
|
|||||||
1068
package-lock.json
generated
1068
package-lock.json
generated
File diff suppressed because it is too large
Load Diff
@@ -3,7 +3,7 @@
|
|||||||
"version": "0.0.1",
|
"version": "0.0.1",
|
||||||
"private": true,
|
"private": true,
|
||||||
"scripts": {
|
"scripts": {
|
||||||
"backoffice": "npm run build:user-management && nx serve @fhc-platform/backoffice",
|
"backoffice": "npm run build:user-management && nx serve @ema-platform/backoffice",
|
||||||
"portal": "nx serve @ema-platform/portal",
|
"portal": "nx serve @ema-platform/portal",
|
||||||
"dev:all": "nx run-many -t serve -p @ema-platform/portal @ema-platform/backoffice --parallel=2",
|
"dev:all": "nx run-many -t serve -p @ema-platform/portal @ema-platform/backoffice --parallel=2",
|
||||||
"build:backoffice": "nx build @ema-platform/backoffice",
|
"build:backoffice": "nx build @ema-platform/backoffice",
|
||||||
|
|||||||
Reference in New Issue
Block a user