mirror of
https://github.com/Unleash/unleash.git
synced 2025-04-10 01:16:39 +02:00
* chore: update changelog * 4.0.0-alpha.4 * wip: frontend should understand rbac permissions * move all feature components to hasAccess * fix: remove all change permissions * fix all the tests * fix all the tests x2 * fix snapshot for node 12 * fine tune perms a bit * refactor: rewrite to ts * refactor: use admin constant * fix: import Co-authored-by: Fredrik Oseberg <fredrik.no@gmail.com>
57 lines
1.7 KiB
TypeScript
57 lines
1.7 KiB
TypeScript
import 'whatwg-fetch';
|
|
|
|
import './app.css';
|
|
|
|
import ReactDOM from 'react-dom';
|
|
import { HashRouter, Route } from 'react-router-dom';
|
|
import { Provider } from 'react-redux';
|
|
import { ThemeProvider, CssBaseline } from '@material-ui/core';
|
|
import thunkMiddleware from 'redux-thunk';
|
|
import { createStore, applyMiddleware, compose } from 'redux';
|
|
import { StylesProvider } from '@material-ui/core/styles';
|
|
|
|
import mainTheme from './themes/main-theme';
|
|
import store from './store';
|
|
import MetricsPoller from './metrics-poller';
|
|
import App from './component/App';
|
|
import ScrollToTop from './component/scroll-to-top';
|
|
import { writeWarning } from './security-logger';
|
|
import AccessProvider from './component/AccessProvider/AccessProvider';
|
|
|
|
let composeEnhancers;
|
|
|
|
if (
|
|
process.env.NODE_ENV !== 'production' &&
|
|
(window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__
|
|
) {
|
|
composeEnhancers = (window as any).__REDUX_DEVTOOLS_EXTENSION_COMPOSE__;
|
|
} else {
|
|
composeEnhancers = compose;
|
|
writeWarning();
|
|
}
|
|
|
|
const unleashStore = createStore(
|
|
store,
|
|
composeEnhancers(applyMiddleware(thunkMiddleware))
|
|
);
|
|
const metricsPoller = new MetricsPoller(unleashStore);
|
|
metricsPoller.start();
|
|
|
|
ReactDOM.render(
|
|
<Provider store={unleashStore}>
|
|
<AccessProvider store={unleashStore}>
|
|
<HashRouter>
|
|
<ThemeProvider theme={mainTheme}>
|
|
<StylesProvider injectFirst>
|
|
<CssBaseline />
|
|
<ScrollToTop>
|
|
<Route path="/" component={App} />
|
|
</ScrollToTop>
|
|
</StylesProvider>
|
|
</ThemeProvider>
|
|
</HashRouter>
|
|
</AccessProvider>
|
|
</Provider>,
|
|
document.getElementById('app')
|
|
);
|