Persist build extra_files for Build Manager history, print dashboard login on every start, add libp2p for Mesh P2P forge, defer WebSocket until login, and split devrun.bat from LAUNCH.bat with USB deck auto-detection.
31 lines
1.0 KiB
TypeScript
31 lines
1.0 KiB
TypeScript
import React from 'react';
|
|
import ReactDOM from 'react-dom/client';
|
|
import { BrowserRouter } from 'react-router-dom';
|
|
import App from './App';
|
|
import { routerFuture } from './routerFuture';
|
|
import ErrorBoundary from './components/ErrorBoundary';
|
|
import './styles/global.css';
|
|
import './styles/steampunk-theme.css';
|
|
|
|
ReactDOM.createRoot(document.getElementById('root')!).render(
|
|
<React.StrictMode>
|
|
<ErrorBoundary
|
|
fallback={
|
|
<div className="session-gate">
|
|
<div className="session-gate-card card">
|
|
<h1 className="font-display">AetherForge</h1>
|
|
<p className="form-hint">The dashboard failed to load. Hard-refresh (Ctrl+Shift+R) or clear site data for this host.</p>
|
|
<button type="button" className="btn btn-primary" onClick={() => window.location.reload()}>
|
|
Reload
|
|
</button>
|
|
</div>
|
|
</div>
|
|
}
|
|
>
|
|
<BrowserRouter future={routerFuture}>
|
|
<App />
|
|
</BrowserRouter>
|
|
</ErrorBoundary>
|
|
</React.StrictMode>
|
|
);
|