-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathapp.js
More file actions
146 lines (133 loc) · 5.58 KB
/
Copy pathapp.js
File metadata and controls
146 lines (133 loc) · 5.58 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
/**
* app.js
*
* This is the entry file for the application, only setup and boilerplate
* code.
*/
// Needed for redux-saga es6 generator support
import 'babel-polyfill';
// Import all the third party stuff
import React from 'react';
import ReactDOM from 'react-dom';
import { Provider } from 'react-redux';
import { ConnectedRouter } from 'react-router-redux';
import createHistory from 'history/createBrowserHistory';
import 'sanitize.css/sanitize.css';
// Import root app
import App from 'containers/App';
// Import Language Provider
import LanguageProvider from 'containers/LanguageProvider';
// Load the favicon, the manifest.json file and the .htaccess file
/* eslint-disable import/no-unresolved, import/extensions */
import '!file-loader?name=[name].[ext]!./images/favicon.ico';
import '!file-loader?name=[name].[ext]!./images/icon-72x72.png';
import '!file-loader?name=[name].[ext]!./images/icon-96x96.png';
import '!file-loader?name=[name].[ext]!./images/icon-128x128.png';
import '!file-loader?name=[name].[ext]!./images/icon-144x144.png';
import '!file-loader?name=[name].[ext]!./images/icon-152x152.png';
import '!file-loader?name=[name].[ext]!./images/icon-192x192.png';
import '!file-loader?name=[name].[ext]!./images/icon-384x384.png';
import '!file-loader?name=[name].[ext]!./images/icon-512x512.png';
import '!file-loader?name=[name].[ext]!./manifest.json';
import 'file-loader?name=[name].[ext]!./.htaccess';
/* eslint-enable import/no-unresolved, import/extensions */
import 'components/Header/styles.css';
import 'components/CategoryList/CategoryItem/styles.css';
import 'components/StateList/styles.css';
import 'components/JobList/styles.css';
import 'components/JobList/JobItem/styles.css';
import 'components/MyJobsComponent/Item/styles.css';
import 'components/MyJobsComponent/NoJobsYet/styles.css';
import 'containers/HomePage/styles.css';
import 'containers/General/JobDetail/styles.css';
import 'components/Subscribe/styles.css';
import 'components/Sponsored/styles.css';
import 'containers/NotFoundPage/styles.css';
import 'components/Footer/styles.css';
import 'components/JobDetail/JobDetailHeader/styles.css';
import 'components/JobDetail/JobInformation/styles.css';
import 'components/JobDetail/JobDescription/styles.css';
import 'components/JobDetail/CompanyInfo/styles.css';
import 'components/JobDetail/JobInformation/SocialButton/Email/styles.css';
import 'components/JobDetail/JobInformation/SocialButton/Facebook/styles.css';
import 'components/JobDetail/JobInformation/SocialButton/Whatsapp/styles.css';
import 'components/EditProfile/Alert/styles.css';
import 'components/JobDetail/CreatedJobAlert/styles.css';
import 'components/SearchNotFound/styles.css';
import 'components/JobSavedAlert/styles.css';
import 'components/JobDetail/RelatedJobList/styles.css';
import 'components/JobDetail/RelatedJobList/Item/styles.css';
import 'components/LoginRegister/Signup/styles.css';
import 'components/LoginRegister/CreatedAccount/styles.css';
import 'components/LoginRegister/Login/styles.css';
import 'components/LoginRegister/ForgotPassword/styles.css';
import 'components/LoginRegister/ForgotPasswordIncoming/styles.css';
import 'components/LoginRegister/GeneralComponent/DashlineIcon/styles.css';
import 'components/LoginRegister/GeneralComponent/Form/styles.css';
import 'components/Pages/About/styles.css';
import 'components/Pages/Terms/styles.css';
import 'components/Pages/Policy/styles.css';
import 'components/LoadingJobs/LoadingJobsList/styles.css';
import 'components/LoadingJobs/LoadingJobsList/LoadingJobsItem/styles.css';
import 'components/Popup/ReportJob/styles.css';
import 'components/Popup/AskReason/styles.css';
import 'components/Popup/DeleteConfirmation/styles.css';
import 'components/EmployerProfileBanner/styles.css';
import 'components/ShareThisProfile/styles.css';
import 'containers/MyJobs/styles.css';
import 'containers/PostJob/EditAndPost/styles.css';
import 'containers/PostJob/ImportantAlert/styles.css';
import 'containers/MyProfile/EditProfile/styles.css';
import 'bootstrap/dist/css/bootstrap.css';
import configureStore from './configureStore';
// Import i18n messages
import { translationMessages } from './i18n';
// Import CSS reset and Global Styles
import './global-styles';
// Create redux store with history
const initialState = {};
const history = createHistory();
const store = configureStore(initialState, history);
const MOUNT_NODE = document.getElementById('app');
const render = (messages) => {
ReactDOM.render(
<Provider store={store}>
<LanguageProvider messages={messages}>
<ConnectedRouter history={history}>
<App />
</ConnectedRouter>
</LanguageProvider>
</Provider>,
MOUNT_NODE
);
};
if (module.hot) {
// Hot reloadable React components and translation json files
// modules.hot.accept does not accept dynamic dependencies,
// have to be constants at compile-time
module.hot.accept(['./i18n', 'containers/App'], () => {
ReactDOM.unmountComponentAtNode(MOUNT_NODE);
render(translationMessages);
});
}
// Chunked polyfill for browsers without Intl support
if (!window.Intl) {
(new Promise((resolve) => {
resolve(import('intl'));
}))
.then(() => Promise.all([
import('intl/locale-data/jsonp/en.js'),
]))
.then(() => render(translationMessages))
.catch((err) => {
throw err;
});
} else {
render(translationMessages);
}
// Install ServiceWorker and AppCache in the end since
// it's not most important operation and if main code fails,
// we do not want it installed
if (process.env.NODE_ENV === 'production') {
require('offline-plugin/runtime').install(); // eslint-disable-line global-require
}