1
0
mirror of https://github.com/ascribe/onion.git synced 2024-06-28 08:37:59 +02:00
onion/js/app.js

67 lines
1.5 KiB
JavaScript
Raw Normal View History

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
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';
import getRoutes from './routes';
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'
};
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
class AppGateway {
start() {
console.log('start');
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;
this.load('prize');
}
loadDefault(error) {
console.log('Loading default app, error'. error);
this.load('default');
}
load(type) {
console.log('loading', type);
Router.run(getRoutes(type), Router.HistoryLocation, (App) => {
React.render(
<App />,
document.getElementById('main')
);
});
}
}
let ag = new AppGateway();
ag.start();