/* * Minio Cloud Storage (C) 2016 Minio, Inc. * * Licensed under the Apache License, Version 2.0 (the "License"); * you may not use this file except in compliance with the License. * You may obtain a copy of the License at * * http://www.apache.org/licenses/LICENSE-2.0 * * Unless required by applicable law or agreed to in writing, software * distributed under the License is distributed on an "AS IS" BASIS, * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied. * See the License for the specific language governing permissions and * limitations under the License. */ import 'babel-polyfill' import './less/main.less' import React from 'react' import ReactDOM from 'react-dom' import thunkMiddleware from 'redux-thunk' import createStore from 'redux/lib/createStore' import applyMiddleware from 'redux/lib/applyMiddleware' import Route from 'react-router/lib/Route' import Router from 'react-router/lib/Router' import browserHistory from 'react-router/lib/browserHistory' import IndexRoute from 'react-router/lib/IndexRoute' import Provider from 'react-redux/lib/components/Provider' import connect from 'react-redux/lib/components/connect' import Moment from 'moment' import { minioBrowserPrefix } from './js/constants.js' import * as actions from './js/actions.js' import reducer from './js/reducers.js' import _Login from './js/components/Login.js' import _Browse from './js/components/Browse.js' import fontAwesome from 'font-awesome/css/font-awesome.css' import Web from './js/web' window.Web = Web import storage from 'local-storage-fallback' const store = applyMiddleware(thunkMiddleware)(createStore)(reducer) const Browse = connect(state => state)(_Browse) const Login = connect(state => state)(_Login) let web = new Web(`${window.location.protocol}//${window.location.host}${minioBrowserPrefix}/webrpc`, store.dispatch) window.web = web store.dispatch(actions.setWeb(web)) function authNeeded(nextState, replace, cb) { if (web.LoggedIn()) { return cb() } if (location.pathname === minioBrowserPrefix || location.pathname === minioBrowserPrefix + '/') { replace(`${minioBrowserPrefix}/login`) } return cb() } function authNotNeeded(nextState, replace) { if (web.LoggedIn()) { replace(`${minioBrowserPrefix}`) } } const App = (props) => { return