39 lines
1.0 KiB
TypeScript
39 lines
1.0 KiB
TypeScript
|
|
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import App from './App';
|
|
import './index.css';
|
|
import './i18n'; // Initialize i18n
|
|
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import { AuthProvider } from './AuthContext';
|
|
import axios from 'axios';
|
|
|
|
// Set production API URL if provided
|
|
if (import.meta.env.VITE_API_URL) {
|
|
axios.defaults.baseURL = import.meta.env.VITE_API_URL;
|
|
}
|
|
|
|
const rootElement = document.getElementById('root');
|
|
if (!rootElement) {
|
|
throw new Error("Could not find root element to mount to");
|
|
}
|
|
|
|
import { GoogleOAuthProvider } from '@react-oauth/google';
|
|
import { HelmetProvider } from 'react-helmet-async';
|
|
|
|
const root = ReactDOM.createRoot(rootElement);
|
|
root.render(
|
|
<React.StrictMode>
|
|
<GoogleOAuthProvider clientId={import.meta.env.VITE_GOOGLE_CLIENT_ID || "PLACEHOLDER_CLIENT_ID"}>
|
|
<HelmetProvider>
|
|
<BrowserRouter>
|
|
<AuthProvider>
|
|
<App />
|
|
</AuthProvider>
|
|
</BrowserRouter>
|
|
</HelmetProvider>
|
|
</GoogleOAuthProvider>
|
|
</React.StrictMode>
|
|
);
|