td2-visualizer/src/components/App.js
izawartka 895a294098 Add EmbeddedContext
- Added EmbeddedContext and ?embeded=true param support
2026-07-29 19:44:18 +02:00

55 lines
1.8 KiB
JavaScript

import { useState } from 'react';
import Map from './map/Map';
import Toolbar from './toolbar/Toolbar';
import SideMenu from './sidemenu/SideMenu';
import SettingsManager from './SettingsManager';
import LocList from './loclist/LocList';
import DialogManager from './dialog/DialogManager';
import DistanceMeterContext from '../contexts/DistanceMeterContext';
import {GradientsManager} from "./GradientsManager";
import SideMenuContext from '../contexts/SideMenuContext';
import SceneryManager from './SceneryManager';
import ThemeManager from './ThemeManager';
import {EmbeddedContextProvider} from '../contexts/EmbeddedContext';
import './Themes.css';
import './App.css';
function App() {
const [sideMenuOpen, setSideMenuOpen] = useState(false);
const [distancePoints, setDistancePoints] = useState(null);
return (
<EmbeddedContextProvider>
<ThemeManager>
<SettingsManager>
<SceneryManager>
<GradientsManager>
<DistanceMeterContext.Provider value={{distancePoints, setDistancePoints}}>
<SideMenuContext.Provider value={{sideMenuOpen, setSideMenuOpen}}>
<AppContent />
</SideMenuContext.Provider>
</DistanceMeterContext.Provider>
</GradientsManager>
</SceneryManager>
</SettingsManager>
</ThemeManager>
</EmbeddedContextProvider>
);
}
function AppContent() {
return (
<div className="App">
<Toolbar />
<div className='side-menu-split'>
<Map />
<SideMenu />
</div>
<LocList />
<DialogManager />
</div>
);
}
export default App;