import "@patternfly/react-core/dist/styles/base.css"; import React from "react"; import ReactDOM from "react-dom/client"; import { RouterProvider } from "react-router-dom"; import { Configuration } from "@migration-planner-ui/api-client/runtime"; import { AgentApi, SourceApi } from "@migration-planner-ui/api-client/apis"; import { Spinner } from "@patternfly/react-core"; import { Container, Provider as DependencyInjectionProvider, } from "@migration-planner-ui/ioc"; import { router } from "./Router"; import { Symbols } from "./Symbols"; import { useAccountsAccessToken } from "../hooks/useAccountsAccessToken"; // Importa el hook function getConfiguredContainer(accessToken: string): Container { const plannerApiConfig = new Configuration({ basePath: `/planner`, headers: { Authorization: `Bearer ${accessToken}`, // Use access token here }, }); const container = new Container(); container.register(Symbols.SourceApi, new SourceApi(plannerApiConfig)); container.register(Symbols.AgentApi, new AgentApi(plannerApiConfig)); //For UI testing we can use the mock Apis //container.register(Symbols.SourceApi, new MockSourceApi(plannerApiConfig)); //container.register(Symbols.AgentApi, new MockAgentApi(plannerApiConfig)); return container; } // eslint-disable-next-line react-refresh/only-export-components function App(): JSX.Element { const { accessToken } = useAccountsAccessToken(); if (!accessToken) { return ; } const container = getConfiguredContainer(accessToken); return ( }> ); } function main(): void { const root = document.getElementById("root"); if (root) { root.style.height = "inherit"; ReactDOM.createRoot(root).render( ); } } main();