2022-05-20 04:15:43 +00:00
|
|
|
import { ConnectedRouter } from 'connected-react-router';
|
2018-01-13 02:01:27 +00:00
|
|
|
import PropTypes from 'prop-types';
|
|
|
|
import React from 'react';
|
|
|
|
import DocumentTitle from 'react-document-title';
|
|
|
|
import { Provider } from 'react-redux';
|
|
|
|
import PageConnector from 'Components/Page/PageConnector';
|
2021-11-20 23:15:30 +00:00
|
|
|
import ApplyTheme from './ApplyTheme';
|
2018-01-13 02:01:27 +00:00
|
|
|
import AppRoutes from './AppRoutes';
|
|
|
|
|
2023-07-14 23:55:25 +00:00
|
|
|
function App({ store, history, hasTranslationsError }) {
|
2018-01-13 02:01:27 +00:00
|
|
|
return (
|
2022-05-13 00:06:14 +00:00
|
|
|
<DocumentTitle title={window.Sonarr.instanceName}>
|
2018-01-13 02:01:27 +00:00
|
|
|
<Provider store={store}>
|
|
|
|
<ConnectedRouter history={history}>
|
2021-11-20 23:15:30 +00:00
|
|
|
<ApplyTheme>
|
2023-07-14 23:55:25 +00:00
|
|
|
<PageConnector hasTranslationsError={hasTranslationsError}>
|
2021-11-20 23:15:30 +00:00
|
|
|
<AppRoutes app={App} />
|
|
|
|
</PageConnector>
|
|
|
|
</ApplyTheme>
|
2018-01-13 02:01:27 +00:00
|
|
|
</ConnectedRouter>
|
|
|
|
</Provider>
|
|
|
|
</DocumentTitle>
|
|
|
|
);
|
|
|
|
}
|
|
|
|
|
|
|
|
App.propTypes = {
|
|
|
|
store: PropTypes.object.isRequired,
|
2023-07-14 23:55:25 +00:00
|
|
|
history: PropTypes.object.isRequired,
|
|
|
|
hasTranslationsError: PropTypes.bool.isRequired
|
2018-01-13 02:01:27 +00:00
|
|
|
};
|
|
|
|
|
|
|
|
export default App;
|