import React from 'react'; import ReactDOM from 'react-dom/client'; import { PublicClientApplication, EventType, EventMessage, AuthenticationResult } from '@azure/msal-browser'; import { MsalProvider } from '@azure/msal-react'; import App from './App'; import { msalConfig } from './services/authConfig'; // Create MSAL instance const msalInstance = new PublicClientApplication(msalConfig); // Initialize MSAL and render app msalInstance.initialize().then(() => { // Check if there are accounts and set the first one as active const accounts = msalInstance.getAllAccounts(); if (accounts.length > 0) { msalInstance.setActiveAccount(accounts[0]); } // Listen for sign-in events to set active account msalInstance.addEventCallback((event: EventMessage) => { if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) { const payload = event.payload as AuthenticationResult; msalInstance.setActiveAccount(payload.account); } }); const rootElement = document.getElementById('root'); if (!rootElement) { throw new Error("Could not find root element to mount to"); } const root = ReactDOM.createRoot(rootElement); root.render( ); });