2a13da1a6c
* chore: gitignore for lib directory * build: packageing for webpack lib build * build: webpack config * feat: expose App component with beeApiUrl parameter * build: tsconfig for library build * build: main property of package json for tsc build * refactor: rename beeUrl option to beeApiUrl * refactor: manange config class instead of process.env calls * build: babelrc config * build: babel plugins and presets for webpack build * chore: serve.js chmod * build(refactor): webpack build * refactor: number notation * chore: webpack and package config change * build: add babel preset-env * chore: prepare script also builds component lib * feat: typegen * revert: set back prepare command * build: assets loader config * feat: beeDebugApiUrl * refactor: move test files to the test folder because of typegen * feat: locked api settings * chore: depcheck ignores * chore: types check script * ci: check types * ci: publish with library * chore: add webpack as devDep * chore: locked semver * chore: remove debug logging * style: webpack config * chore: react and react-dom as dependency * chore: package-lock * fix: clean package-lock init * refactor: fix versions in package.json
50 lines
1.6 KiB
TypeScript
50 lines
1.6 KiB
TypeScript
import CssBaseline from '@material-ui/core/CssBaseline'
|
|
import { ThemeProvider } from '@material-ui/core/styles'
|
|
import { SnackbarProvider } from 'notistack'
|
|
import React, { ReactElement } from 'react'
|
|
import { BrowserRouter as Router } from 'react-router-dom'
|
|
import './App.css'
|
|
import Dashboard from './layout/Dashboard'
|
|
import { Provider as BeeProvider } from './providers/Bee'
|
|
import { Provider as FileProvider } from './providers/File'
|
|
import { Provider as PlatformProvider } from './providers/Platform'
|
|
import { Provider as SettingsProvider } from './providers/Settings'
|
|
import { Provider as StampsProvider } from './providers/Stamps'
|
|
import BaseRouter from './routes'
|
|
import { theme } from './theme'
|
|
|
|
interface Props {
|
|
beeApiUrl?: string
|
|
beeDebugApiUrl?: string
|
|
lockedApiSettings?: boolean
|
|
}
|
|
|
|
const App = ({ beeApiUrl, beeDebugApiUrl, lockedApiSettings }: Props): ReactElement => (
|
|
<div className="App">
|
|
<ThemeProvider theme={theme}>
|
|
<SettingsProvider beeApiUrl={beeApiUrl} beeDebugApiUrl={beeDebugApiUrl} lockedApiSettings={lockedApiSettings}>
|
|
<BeeProvider>
|
|
<StampsProvider>
|
|
<FileProvider>
|
|
<PlatformProvider>
|
|
<SnackbarProvider>
|
|
<Router>
|
|
<>
|
|
<CssBaseline />
|
|
<Dashboard>
|
|
<BaseRouter />
|
|
</Dashboard>
|
|
</>
|
|
</Router>
|
|
</SnackbarProvider>
|
|
</PlatformProvider>
|
|
</FileProvider>
|
|
</StampsProvider>
|
|
</BeeProvider>
|
|
</SettingsProvider>
|
|
</ThemeProvider>
|
|
</div>
|
|
)
|
|
|
|
export default App
|