| import React from 'react'; | |
| import ReactDOM from 'react-dom/client'; | |
| import { BrowserRouter } from 'react-router-dom'; | |
| import { AuthProvider } from './contexts/AuthContext'; | |
| import './index.css'; | |
| import App from './App'; | |
| // Chrome-only gate: add class to <html> so styles can scope to Chrome only | |
| (() => { | |
| try { | |
| const ua = navigator.userAgent; | |
| const isChromiumFamily = /Chrome\/\d+/.test(ua) && !/Edg\//.test(ua) && !/OPR\//.test(ua); | |
| const isGoogleVendor = (navigator.vendor || '').includes('Google'); | |
| // On iOS, all browsers are Safari WebKit; avoid applying on iOS | |
| const isIOS = /iPhone|iPad|iPod/.test(ua); | |
| const isChrome = isChromiumFamily && isGoogleVendor && !isIOS; | |
| if (isChrome) { | |
| document.documentElement.classList.add('is-chrome'); | |
| } | |
| } catch {} | |
| })(); | |
| const root = ReactDOM.createRoot( | |
| document.getElementById('root') as HTMLElement | |
| ); | |
| root.render( | |
| <React.StrictMode> | |
| <BrowserRouter> | |
| <AuthProvider> | |
| <App /> | |
| </AuthProvider> | |
| </BrowserRouter> | |
| </React.StrictMode> | |
| ); |