2015-05-13 16:26:12 +02:00
|
|
|
'use strict';
|
|
|
|
|
2015-07-10 18:21:42 +02:00
|
|
|
require('babel/polyfill');
|
2015-07-03 10:40:04 +02:00
|
|
|
|
2015-05-13 16:26:12 +02:00
|
|
|
import React from 'react';
|
2015-05-15 15:38:25 +02:00
|
|
|
import Router from 'react-router';
|
2015-06-01 14:22:04 +02:00
|
|
|
|
2015-06-16 13:48:48 +02:00
|
|
|
import fetch from 'isomorphic-fetch';
|
2015-05-15 15:38:25 +02:00
|
|
|
|
2015-06-01 14:22:04 +02:00
|
|
|
import ApiUrls from './constants/api_urls';
|
2015-07-13 14:29:20 +02:00
|
|
|
import constants from './constants/application_constants';
|
2015-07-10 16:43:35 +02:00
|
|
|
import getRoutes from './routes';
|
2015-06-16 13:48:48 +02:00
|
|
|
import requests from './utils/requests';
|
2015-06-01 14:22:04 +02:00
|
|
|
|
2015-06-10 17:28:36 +02:00
|
|
|
let headers = {
|
|
|
|
'Accept': 'application/json',
|
|
|
|
'Content-Type': 'application/json'
|
|
|
|
};
|
|
|
|
|
2015-06-16 13:48:48 +02:00
|
|
|
requests.defaults({
|
2015-06-01 14:22:04 +02:00
|
|
|
urlMap: ApiUrls,
|
|
|
|
http: {
|
2015-06-10 17:28:36 +02:00
|
|
|
headers: headers,
|
2015-06-15 11:55:50 +02:00
|
|
|
credentials: 'include'
|
2015-06-01 14:22:04 +02:00
|
|
|
},
|
|
|
|
fatalErrorHandler: (err) => {
|
|
|
|
console.log(err);
|
|
|
|
//alert('Something went wrong, please reload the page');
|
|
|
|
}
|
|
|
|
});
|
2015-05-20 11:23:50 +02:00
|
|
|
|
2015-07-10 16:43:35 +02:00
|
|
|
|
|
|
|
class AppGateway {
|
|
|
|
|
|
|
|
start() {
|
2015-07-13 21:51:05 +02:00
|
|
|
console.log('start');
|
2015-07-10 16:43:35 +02:00
|
|
|
let subdomain = window.location.host.split('.')[0];
|
|
|
|
requests.get('whitelabel_settings', {'subdomain': subdomain})
|
|
|
|
.then(this.loadSubdomain.bind(this))
|
|
|
|
.catch(this.loadDefault.bind(this));
|
|
|
|
}
|
|
|
|
|
|
|
|
loadSubdomain(data) {
|
|
|
|
let settings = data.whitelabel;
|
2015-07-13 14:29:20 +02:00
|
|
|
constants.whitelabel = settings;
|
2015-07-10 16:43:35 +02:00
|
|
|
this.load('prize');
|
|
|
|
}
|
|
|
|
|
2015-07-13 21:51:05 +02:00
|
|
|
loadDefault(error) {
|
|
|
|
console.log('Loading default app, error'. error);
|
2015-07-10 16:43:35 +02:00
|
|
|
this.load('default');
|
|
|
|
}
|
|
|
|
|
|
|
|
load(type) {
|
2015-07-13 21:51:05 +02:00
|
|
|
console.log('loading', type);
|
2015-07-10 16:43:35 +02:00
|
|
|
Router.run(getRoutes(type), Router.HistoryLocation, (App) => {
|
|
|
|
React.render(
|
|
|
|
<App />,
|
|
|
|
document.getElementById('main')
|
|
|
|
);
|
|
|
|
});
|
|
|
|
}
|
|
|
|
}
|
|
|
|
|
|
|
|
let ag = new AppGateway();
|
|
|
|
ag.start();
|