var app = angular.module('launchpad', ['ui.router', 'LocalStorageModule']); app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', function($stateProvider, $urlRouterProvider, localStorageServiceProvider){ localStorageServiceProvider.setPrefix('launchpad').setStorageType('sessionStorage'); $urlRouterProvider.otherwise('/splash-page'); $stateProvider .state('splash-page', { url: '/splash-page', data: { 'requiresLogin': false }, params: { 'toState': 'launchpad-home', // default state to proceed to after login 'toParams': {} }, templateUrl: '/templates/splash-page.html', }) .state('app',{ url: '/launchpad-', data: { 'requiresLogin': true }, views: { 'header': { templateUrl: '/templates/partials/header.html', controller: 'HomeController', controllerAs: 'vm' }, 'menu': { templateUrl: '/templates/partials/menu.html' }, 'content': { templateUrl: '/templates/home.html' }, 'notifications': { templateUrl: '/templates/partials/notifications.html' } } }) .state('app.home', { url: 'home', data: { 'requiresLogin': true }, views: { 'content@': { templateUrl: 'templates/home.html', controller: 'HomeController', controllerAs: 'vm' } } }) .state('app.bolt', { url: 'bolt', data: { 'requiresLogin': true }, views: { 'content@': { templateUrl: 'templates/bolt.html', controller: 'BoltController' } } }) .state('app.files', { url: 'files', views: { 'content@': { templateUrl: 'templates/files.html', controller: 'FilesController' } } }) .state('app.contacts', { url: 'contacts', views: { 'content@': { templateUrl: 'templates/contacts.html', controller: 'ContactController' } } }) .state('app.contacts.detail', { url: '/:id', /* templateUrl: 'templates/partials/subscriber-detail.html', controller: 'SubscriberDetailController' */ views: { 'detail@app.contacts': { templateUrl: 'templates/partials/contact-detail.html', controller: 'ContactDetailController' } } }) .state('app.music', { url: 'music', views: { 'content@': { templateUrl: 'templates/music.html', controller: 'MusicController' } } }) .state('app.email', { url: 'email', views: { 'content@': { templateUrl: 'templates/email.html', controller: 'EmailController' } } }) .state('app.website', { url: 'website', views: { 'content@': { templateUrl: 'templates/website.html', controller: 'WebsiteController' } } }) .state('app.dns', { url: 'dns', views: { 'content@': { templateUrl: 'templates/dns.html', controller: 'DnsController' } } }); }]) .run(['$rootScope', '$state', 'Auth', function($rootScope, $state, Auth) { // Change title based on the `data` object in routes $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { console.log('things'); // var requiresLogin = toState.data.requiresLogin; // // if (requiresLogin && !LoginService.check()) { // event.preventDefault(); // $state.go('splash-page', {'toState': toState.name, 'toParams': toParams}); // } }); }]);