95 lines
3.7 KiB
JavaScript
Executable File
95 lines
3.7 KiB
JavaScript
Executable File
/**
|
|
* Base-level application wrapper
|
|
**/
|
|
|
|
import React, { PropTypes } from 'react';
|
|
import ReactDOM from 'react-dom';
|
|
import { Provider } from 'react-redux'
|
|
import { createStore } from 'redux'
|
|
import { Router, Route, Link, IndexRoute, hashHistory } from 'react-router'
|
|
|
|
import store from './bootstrap.js';
|
|
require('../scss/app.scss');
|
|
|
|
import App from './App';
|
|
import Album from './views/Album';
|
|
import Artist from './views/Artist';
|
|
import Playlist from './views/Playlist';
|
|
import User from './views/User';
|
|
import Track from './views/Track';
|
|
import Queue from './views/Queue';
|
|
import QueueHistory from './views/QueueHistory';
|
|
import Debug from './views/Debug';
|
|
import Search from './views/Search';
|
|
import Settings from './views/Settings';
|
|
|
|
import DiscoverRecommendations from './views/discover/DiscoverRecommendations';
|
|
import DiscoverFeatured from './views/discover/DiscoverFeatured';
|
|
import DiscoverCategories from './views/discover/DiscoverCategories';
|
|
import DiscoverCategory from './views/discover/DiscoverCategory';
|
|
import DiscoverNewReleases from './views/discover/DiscoverNewReleases';
|
|
|
|
import LibraryArtists from './views/library/LibraryArtists';
|
|
import LibraryAlbums from './views/library/LibraryAlbums';
|
|
import LibraryTracks from './views/library/LibraryTracks';
|
|
import LibraryPlaylists from './views/library/LibraryPlaylists';
|
|
import LibraryBrowse from './views/library/LibraryBrowse';
|
|
|
|
import EditPlaylist from './views/modals/EditPlaylist';
|
|
import CreatePlaylist from './views/modals/CreatePlaylist';
|
|
import EditRadio from './views/modals/EditRadio';
|
|
import AddToQueue from './views/modals/AddToQueue';
|
|
import InitialSetup from './views/modals/InitialSetup';
|
|
|
|
/*
|
|
// Hijack console error for Raven to capture
|
|
var originalConsoleError = console.error;
|
|
console.error = function(message, error){
|
|
Raven.captureException(message, error);
|
|
originalConsoleError.apply(this, arguments)
|
|
*/
|
|
|
|
global.baseURL = '/';
|
|
|
|
ReactDOM.render(
|
|
<Provider store={store}>
|
|
<Router history={hashHistory}>
|
|
<Route path={global.baseURL} component={App}>
|
|
|
|
<IndexRoute component={Queue} />
|
|
|
|
<Route path="initial-setup" component={InitialSetup} />
|
|
|
|
<Route path="queue" component={Queue} />
|
|
<Route path="queue/history" component={QueueHistory} />
|
|
<Route path="queue/radio" component={EditRadio} />
|
|
<Route path="queue/add-uri" component={AddToQueue} />
|
|
<Route path="settings/debug" component={Debug} />
|
|
<Route path="settings(/service/:sub_view)" component={Settings} />
|
|
|
|
<Route path="search(/:query)" component={Search} />
|
|
<Route path="album/:uri" component={Album} />
|
|
<Route path="artist/:uri(/:sub_view)" component={Artist} />
|
|
<Route path="playlist/create" component={CreatePlaylist} />
|
|
<Route path="playlist/:uri" component={Playlist} />
|
|
<Route path="playlist/:uri/edit" component={EditPlaylist} />
|
|
<Route path="user/:uri" component={User} />
|
|
<Route path="track/:uri" component={Track} />
|
|
|
|
<Route path="discover/recommendations(/:seeds)" component={DiscoverRecommendations} />
|
|
<Route path="discover/featured" component={DiscoverFeatured} />
|
|
<Route path="discover/categories" component={DiscoverCategories} />
|
|
<Route path="discover/categories/:id" component={DiscoverCategory} />
|
|
<Route path="discover/new-releases" component={DiscoverNewReleases} />
|
|
|
|
<Route path="library/artists" component={LibraryArtists} />
|
|
<Route path="library/albums" component={LibraryAlbums} />
|
|
<Route path="library/tracks" component={LibraryTracks} />
|
|
<Route path="library/playlists" component={LibraryPlaylists} />
|
|
<Route path="library/browse(/:uri)" component={LibraryBrowse} />
|
|
|
|
</Route>
|
|
</Router>
|
|
</Provider>,
|
|
document.getElementById('app')
|
|
); |