diff --git a/packages/manager/apps/hpc-vmware-managed-vcd/public/translations/dashboard/Messages_en_GB.json b/packages/manager/apps/hpc-vmware-managed-vcd/public/translations/dashboard/Messages_en_GB.json
index 8a123beb94a1..b7c9c76da97d 100644
--- a/packages/manager/apps/hpc-vmware-managed-vcd/public/translations/dashboard/Messages_en_GB.json
+++ b/packages/manager/apps/hpc-vmware-managed-vcd/public/translations/dashboard/Messages_en_GB.json
@@ -17,7 +17,7 @@
"managed_vcd_dashboard_service_management": "Service management",
"managed_vcd_dashboard_mailing_list": "Mailing list",
"managed_vcd_dashboard_service_renew": "Renewal",
- "managed_vcd_dashboard_service_cancellation": "Close service",
+ "managed_vcd_dashboard_service_cancellation": "Cancel the service",
"managed_vcd_dashboard_password": "Password",
"managed_vcd_dashboard_password_renew": "Renew the admin password",
"managed_vcd_dashboard_password_tooltip": "If you would like to change your admin password, please contact support",
diff --git a/packages/manager/apps/hpc-vmware-managed-vcd/src/App.tsx b/packages/manager/apps/hpc-vmware-managed-vcd/src/App.tsx
index 6e36769594e4..b013cc1f7ddb 100644
--- a/packages/manager/apps/hpc-vmware-managed-vcd/src/App.tsx
+++ b/packages/manager/apps/hpc-vmware-managed-vcd/src/App.tsx
@@ -1,9 +1,14 @@
-import React from 'react';
+import React, { Suspense } from 'react';
import { QueryClientProvider, QueryClient } from '@tanstack/react-query';
import { ReactQueryDevtools } from '@tanstack/react-query-devtools';
-import { RouterProvider, createHashRouter } from 'react-router-dom';
-import { Routes } from './routes/routes';
+import {
+ RouterProvider,
+ createHashRouter,
+ createRoutesFromElements,
+} from 'react-router-dom';
+import Routes from '@/routes/routes';
import { MessageContextProvider } from './context/Message.context';
+import Loading from './components/loading/Loading.component';
const queryClient = new QueryClient({
defaultOptions: {
@@ -14,12 +19,14 @@ const queryClient = new QueryClient({
});
function App() {
- const router = createHashRouter(Routes);
+ const routes = createHashRouter(createRoutesFromElements(Routes));
return (
-
+ }>
+
+
diff --git a/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/datacentre-general-information-tile/DatacentreGeneralInformationTile.spec.tsx b/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/datacentre-general-information-tile/DatacentreGeneralInformationTile.spec.tsx
index 64caeda35f5f..065798021a0c 100644
--- a/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/datacentre-general-information-tile/DatacentreGeneralInformationTile.spec.tsx
+++ b/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/datacentre-general-information-tile/DatacentreGeneralInformationTile.spec.tsx
@@ -24,6 +24,16 @@ vi.mock('@ovh-ux/manager-react-shell-client', async (importOriginal) => {
};
});
+vi.mock('react-router-dom', async (importOriginal) => {
+ const module: typeof import('react-router-dom') = await importOriginal();
+ return {
+ ...module,
+ useNavigate: () => vi.fn(),
+ useParams: () => ({ id: 'id' }),
+ Route: module.Route,
+ };
+});
+
const queryClient = new QueryClient({
defaultOptions: {
queries: {
@@ -35,11 +45,6 @@ const queryClient = new QueryClient({
},
});
-vi.mock('react-router-dom', () => ({
- useNavigate: () => ({ navigate: vi.fn() }),
- useParams: () => ({ id: 'id' }),
-}));
-
const vcdOrg = {
currentState: {
apiUrl: 'https://vcd.my.demo.lab',
diff --git a/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/organization-service-tile/OrganizationServiceManagementTile.spec.tsx b/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/organization-service-tile/OrganizationServiceManagementTile.spec.tsx
index 07dcb9d3e15f..6eb5263bb245 100644
--- a/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/organization-service-tile/OrganizationServiceManagementTile.spec.tsx
+++ b/packages/manager/apps/hpc-vmware-managed-vcd/src/components/tiles/organization-service-tile/OrganizationServiceManagementTile.spec.tsx
@@ -11,12 +11,15 @@ import OrganizationServiceManagementTile from './OrganizationServiceManagementTi
import { labels } from '../../../test-utils';
import { subRoutes, urls } from '../../../routes/routes.constant';
-vi.mock('react-router-dom', async (importOriginal) => ({
- ...(await importOriginal()),
- useHref: () => urls.resetPassword.replace(subRoutes.dashboard, 'id'),
- useNavigate: () => ({ navigate: vi.fn() }),
- useParams: () => ({ id: 'id' }),
-}));
+vi.mock('react-router-dom', async (importOriginal) => {
+ const module: typeof import('react-router-dom') = await importOriginal();
+ return {
+ ...module,
+ useHref: () => urls.resetPassword.replace(subRoutes.dashboard, 'id'),
+ useNavigate: () => vi.fn(),
+ useParams: () => ({ id: 'id' }),
+ };
+});
const shellContext = {
environment: {
diff --git a/packages/manager/apps/hpc-vmware-managed-vcd/src/routes/routes.tsx b/packages/manager/apps/hpc-vmware-managed-vcd/src/routes/routes.tsx
index 76661897741d..f486e7dfbfee 100644
--- a/packages/manager/apps/hpc-vmware-managed-vcd/src/routes/routes.tsx
+++ b/packages/manager/apps/hpc-vmware-managed-vcd/src/routes/routes.tsx
@@ -1,243 +1,244 @@
+import { ErrorBoundary } from '@ovh-ux/manager-react-components';
import React from 'react';
-import { RouteObject } from 'react-router-dom';
+import { Route } from 'react-router-dom';
import { PageType } from '@ovh-ux/manager-react-shell-client';
import NotFound from '@/pages/404';
import { urls } from '@/routes/routes.constant';
-const lazyRouteConfig = (importFn: CallableFunction): Partial => {
- return {
- lazy: async () => {
- const { default: moduleDefault, ...moduleExports } = await importFn();
- return {
- Component: moduleDefault,
- ...moduleExports,
- };
- },
- };
-};
+const LayoutPage = React.lazy(() => import('@/pages/layout'));
+const OnboardingPage = React.lazy(() =>
+ import('@/pages/onboarding/Onboarding.page'),
+);
+const ListingPage = React.lazy(() =>
+ import('@/pages/listing/organizations/Organizations.page'),
+);
+const OrganizationDashboardPage = React.lazy(() =>
+ import('@/pages/dashboard/organization/OrganizationDashboard.page'),
+);
+const OrganizationGeneralInformationPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/organization/general-information/OrganizationGeneralInformation.page'
+ ),
+);
+const OrganizationEditNamePage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/organization/general-information/edit/EditName.page'
+ ),
+);
+const OrganizationEditDescriptionPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/organization/general-information/edit/EditDescription.page'
+ ),
+);
+const OrganizationResetPasswordPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/organization/general-information/edit/EditPassword.page'
+ ),
+);
+const DatacentresPage = React.lazy(() =>
+ import('@/pages/listing/datacentres/Datacentres.page'),
+);
+const DatacentreDashboardPage = React.lazy(() =>
+ import('@/pages/dashboard/datacentre/DatacentreDashboard.page'),
+);
+const DatacentreGeneralInformationPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/datacentre/general-informations/DatacentreGeneralInformation.page'
+ ),
+);
+const DatacentreEditDescriptionPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/datacentre/general-informations/edit/EditVdcDescription.page'
+ ),
+);
+const DatacentreStoragePage = React.lazy(() =>
+ import('@/pages/dashboard/datacentre/storage/DatacentreStorage.page'),
+);
+const DatacentreStorageOrderPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/datacentre/storage-order/DatacentreStorageOrder.page'
+ ),
+);
+const DatacentreComputePage = React.lazy(() =>
+ import('@/pages/dashboard/datacentre/compute/DatacentreCompute.page'),
+);
+const DatacentreComputeOrderPage = React.lazy(() =>
+ import(
+ '@/pages/dashboard/datacentre/compute-order/DatacentreComputeOrder.page'
+ ),
+);
-export const Routes: any = [
- {
- path: urls.root,
- ...lazyRouteConfig(() => import('@/pages/layout')),
- children: [
- {
- id: 'listing',
- path: urls.listing,
- ...lazyRouteConfig(() =>
- import('@/pages/listing/organizations/Organizations.page'),
- ),
- handle: {
+export default (
+
+ }
+ >
+
+
+
- import('@/pages/dashboard/organization/OrganizationDashboard.page'),
- ),
- children: [
- {
- id: 'dashboard',
- path: '',
- ...lazyRouteConfig(() =>
- import(
- '@/pages/dashboard/organization/general-information/OrganizationGeneralInformation.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'general-informations',
- pageType: PageType.dashboard,
- },
+ }}
+ >
+
- import(
- '@/pages/dashboard/organization/general-information/edit/EditName.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'edit-name',
- pageType: PageType.popup,
- },
- },
- },
- {
- id: 'edit-description',
- path: urls.editDescription,
- ...lazyRouteConfig(() =>
- import(
- '@/pages/dashboard/organization/general-information/edit/EditDescription.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'edit-description',
- pageType: PageType.popup,
- },
- },
- },
- {
- id: 'reset-password',
- path: urls.resetPassword,
- ...lazyRouteConfig(() =>
- import(
- '@/pages/dashboard/organization/general-information/edit/EditPassword.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'reset-password',
- pageType: PageType.popup,
- },
- },
- },
- ],
- },
- {
- id: 'datacentres',
- path: urls.datacentres,
- ...lazyRouteConfig(() =>
- import('@/pages/listing/datacentres/Datacentres.page'),
- ),
- handle: {
- tracking: {
- pageName: 'datacenters',
- pageType: PageType.listing,
- },
+ }}
+ />
+
+
+
+
- import('@/pages/dashboard/datacentre/DatacentreDashboard.page'),
- ),
- handle: {
+ }}
+ />
+
+
+
- import(
- '@/pages/dashboard/datacentre/general-informations/DatacentreGeneralInformation.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'datacenter',
- pageType: PageType.dashboard,
- },
- },
- children: [
- {
- id: 'vdc-edit-description',
- path: urls.datacentreEditDescription,
- ...lazyRouteConfig(() =>
- import(
- '@/pages/dashboard/datacentre/general-informations/edit/EditVdcDescription.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'vdc-edit-description',
- pageType: PageType.popup,
- },
- },
- },
- ],
- },
- {
- id: 'vDcStorage',
- path: urls.datacentreStorage,
- ...lazyRouteConfig(() =>
- import(
- '@/pages/dashboard/datacentre/storage/DatacentreStorage.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'storage',
- pageType: PageType.listing,
- },
- },
- },
- {
- id: 'vDcStorage-order',
- path: urls.datacentreStorageOrder,
- ...lazyRouteConfig(() =>
- import(
- '@/pages/dashboard/datacentre/storage-order/DatacentreStorageOrder.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'storage-order',
- pageType: PageType.funnel,
- },
+ }}
+ >
+
+
+
- import(
- '@/pages/dashboard/datacentre/compute/DatacentreCompute.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'compute',
- pageType: PageType.listing,
- },
- },
+ }}
+ />
+
- import(
- '@/pages/dashboard/datacentre/compute-order/DatacentreComputeOrder.page'
- ),
- ),
- handle: {
- tracking: {
- pageName: 'compute-order',
- pageType: PageType.funnel,
- },
- },
+ }}
+ />
+ import('@/pages/onboarding/Onboarding.page')),
- handle: {
+ }}
+ />
+
+
+ ,
- },
-];
+ }}
+ />
+ } />
+
+);
diff --git a/packages/manager/apps/hpc-vmware-managed-vcd/src/test-utils/TestApp.tsx b/packages/manager/apps/hpc-vmware-managed-vcd/src/test-utils/TestApp.tsx
index 99fa0eaedc42..b871fe48eceb 100644
--- a/packages/manager/apps/hpc-vmware-managed-vcd/src/test-utils/TestApp.tsx
+++ b/packages/manager/apps/hpc-vmware-managed-vcd/src/test-utils/TestApp.tsx
@@ -1,11 +1,17 @@
-import React from 'react';
+import React, { Suspense } from 'react';
import { QueryClientProvider, QueryClient } from '@tanstack/react-query';
-import { createMemoryRouter, RouterProvider } from 'react-router-dom';
-import { Routes } from '../routes/routes';
+import {
+ createMemoryRouter,
+ RouterProvider,
+ createRoutesFromElements,
+} from 'react-router-dom';
+import Routes from '@/routes/routes';
import { MessageContextProvider } from '@/context/Message.context';
+import Loading from '@/components/loading/Loading.component';
export function TestApp({ initialRoute = '/' }) {
- const router = createMemoryRouter(Routes, {
+ const routes = createRoutesFromElements(Routes);
+ const router = createMemoryRouter(routes, {
initialEntries: [initialRoute],
initialIndex: 0,
});
@@ -17,7 +23,9 @@ export function TestApp({ initialRoute = '/' }) {
return (
-
+ }>
+
+
);
diff --git a/packages/manager/apps/veeam-backup/public/translations/dashboard/Messages_en_GB.json b/packages/manager/apps/veeam-backup/public/translations/dashboard/Messages_en_GB.json
index 5af857a3fbec..6149c4c8eef8 100644
--- a/packages/manager/apps/veeam-backup/public/translations/dashboard/Messages_en_GB.json
+++ b/packages/manager/apps/veeam-backup/public/translations/dashboard/Messages_en_GB.json
@@ -14,7 +14,7 @@
"subscription": "Subscription",
"next_billing": "Next payment date",
"creation_date": "Created on",
- "delete_service": "Close service",
+ "delete_service": "Cancel the service",
"contacts": "Contacts",
"automatic_renew": "Automatic renewal",
"manual_renew": "Manual renewal",