/// <reference types="vite/client" />

import React from 'react';
import ReactDOM from 'react-dom/client';
import App from './App.tsx';
import './Index.css';
import { msalInstance } from './msalConfig';

// Fonction d'initialisation
const initializeApp = async () => {
    try {
        // Initialiser MSAL
        await msalInstance.initialize();
        console.log('✓ MSAL initialisé');

        // Gérer la redirection après login
        await msalInstance.handleRedirectPromise();

        const rootElement = document.getElementById('root');

        if (!rootElement) {
            throw new Error('Root element not found');
        }

        ReactDOM.createRoot(rootElement).render(
            <React.StrictMode>
                <App />
            </React.StrictMode>
        );

    } catch (error) {
        console.error('❌ Erreur lors de l\'initialisation:', error);

        // Fallback: monter l'app même en cas d'erreur
        const rootElement = document.getElementById('root');
        if (rootElement) {
            ReactDOM.createRoot(rootElement).render(
                <React.StrictMode>
                    <App />
                </React.StrictMode>
            );
        }
    }
};

// Lancer l'initialisation
initializeApp();