From d2b34b8e61073fc9815c049cb77d14de4bf9050a Mon Sep 17 00:00:00 2001 From: Noah Spannbauer Date: Mon, 20 Jan 2025 17:33:25 -0600 Subject: [PATCH] Refactoring --- app/src/App.tsx | 12 +++++-- app/src/main.tsx | 88 +++++++++++------------------------------------- 2 files changed, 28 insertions(+), 72 deletions(-) diff --git a/app/src/App.tsx b/app/src/App.tsx index c78d675..ba0a60e 100644 --- a/app/src/App.tsx +++ b/app/src/App.tsx @@ -7,8 +7,14 @@ import { AxiosInstance, AxiosResponse } from 'axios'; import { useHttpClient } from './hooks/httpClient/UseHttpClient'; import { useFeatureFlag } from './hooks/featureFlag/UseFeatureFlag'; import SiteNav from './components/siteNav/SiteNav'; +import { IPublicClientApplication } from '@azure/msal-browser'; +import { MsalProvider } from '@azure/msal-react'; -const App: React.FC = () => { +interface AppProps { + pca: IPublicClientApplication +} + +const App: React.FC = ({ pca }: AppProps) => { const httpClient: AxiosInstance = useHttpClient(); const appContext = useAppContext(); @@ -36,7 +42,7 @@ const App: React.FC = () => { // }, []); return ( -
+ {/* {useFeatureFlag('flying-pilots')?.enabled && ( */} @@ -44,7 +50,7 @@ const App: React.FC = () => { {/* )} */} } /> -
+ ); }; diff --git a/app/src/main.tsx b/app/src/main.tsx index d515e34..c196fae 100644 --- a/app/src/main.tsx +++ b/app/src/main.tsx @@ -5,83 +5,33 @@ import AppContextProvider from './context/appContext/AppContextProvider.tsx'; import { BrowserRouter } from 'react-router-dom'; import './index.css'; import '@noahspan/noahspan-components/noahspan-components.css'; -import { Configuration, EventType, LogLevel, PublicClientApplication } from '@azure/msal-browser'; +import { AuthenticationResult, EventMessage, EventType, PublicClientApplication } from '@azure/msal-browser'; import { MsalProvider } from '@azure/msal-react'; - -const msalConfig: Configuration = { - auth: { - clientId: import.meta.env.VITE_CLIENT_ID, - authority: `https://login.microsoftonline.com/${import.meta.env.VITE_TENANT_ID}`, - redirectUri: import.meta.env.VITE_REDIRECT_URL, - postLogoutRedirectUri: '/', - navigateToLoginRequestUrl: false, - }, - cache: { - cacheLocation: 'localStorage', - storeAuthStateInCookie: false, - }, - system: { - loggerOptions: { - loggerCallback: (level, message, containsPii) => { - if (containsPii) { - return; - } - switch (level) { - case LogLevel.Error: - console.error(message); - return; - case LogLevel.Info: - console.info(message); - return; - case LogLevel.Verbose: - console.debug(message); - return; - case LogLevel.Warning: - console.warn(message); - return; - default: - return; - } - }, - }, - }, -}; +import { msalConfig } from './auth/msalConfig.ts'; const msalInstance: PublicClientApplication = new PublicClientApplication(msalConfig); +const accounts = msalInstance.getAllAccounts(); -msalInstance.initialize() - .then(() => { - console.log('Initialized!'); +console.log({ accounts, msalInstance }); - if (!msalInstance.getActiveAccount() && msalInstance.getAllAccounts().length > 0) { - msalInstance.setActiveAccount(msalInstance.getAllAccounts()[0]); - } +if (accounts.length > 0) { + msalInstance.setActiveAccount(accounts[0]); +} - msalInstance.enableAccountStorageEvents(); - msalInstance.addEventCallback((event: any) => { - if ( - event.eventType === EventType.LOGIN_SUCCESS || - event.eventType === EventType.ACQUIRE_TOKEN_SUCCESS || - event.eventType === EventType.SSO_SILENT_SUCCESS - ) { - const account = event.payload.account; - msalInstance.setActiveAccount(account); - } - }); - }) - .catch((err) => { - console.error('Error during initialization'); - console.error(err); - }); +msalInstance.addEventCallback((event: EventMessage) => { + if (event.eventType === EventType.LOGIN_SUCCESS && event.payload) { + const payload = event.payload as AuthenticationResult; + const account = payload.account; + msalInstance.setActiveAccount(account); + } +}); ReactDOM.createRoot(document.getElementById('root')!).render( - - - - - - - + + + + + ); \ No newline at end of file