think i finally fixed urls

This commit is contained in:
Jon Lambson 2017-08-14 12:41:55 -06:00
parent 5455b16ec7
commit b4c5d8a2a2
4 changed files with 116 additions and 60 deletions

View File

@ -1,24 +1,19 @@
var app = angular.module('launchpad', ['ui.router', 'LocalStorageModule']); var app = angular.module('launchpad', ['ui.router', 'LocalStorageModule']);
var redirected = false;
var redirectedURL; var redirectedURL;
var urlArray = [];
app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', function($stateProvider, $urlRouterProvider, localStorageServiceProvider){ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider', function($stateProvider, $urlRouterProvider, localStorageServiceProvider){
localStorageServiceProvider.setPrefix('launchpad').setStorageType('sessionStorage'); localStorageServiceProvider.setPrefix('launchpad').setStorageType('sessionStorage');
$urlRouterProvider.otherwise('/splash-page'); $urlRouterProvider.otherwise('/splash-page');
$stateProvider $stateProvider
.state('splash-page', { .state('splash-page', {
data: { 'requiresLogin': false }, data: { requiresLogin: false },
params: {
// 'toState': 'home',
'toParams': {
}
},
url: '/splash-page', url: '/splash-page',
templateUrl: '/templates/splash-page.html', templateUrl: '/templates/splash-page.html',
}) })
.state('app',{ .state('app',{
data: { 'requiresLogin': true }, data: { requiresLogin: true },
url: '/', url: '/',
views: { views: {
'header': { 'header': {
@ -126,27 +121,19 @@ app.config(['$stateProvider', '$urlRouterProvider', 'localStorageServiceProvider
app.run(['$rootScope', '$state', 'Auth', function($rootScope, $state, Auth) { app.run(['$rootScope', '$state', 'Auth', function($rootScope, $state, Auth) {
$rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) { $rootScope.$on('$stateChangeStart', function(event, toState, toParams, fromState, fromParams) {
// console.log('toState', toState);
// console.log('toParams', toParams);
// console.log('fromState', fromState);
// console.log('fromParams', fromParams);
var requiresLogin = toState.data.requiresLogin; var requiresLogin = toState.data.requiresLogin;
if (!Auth.isLoggedIn()) { redirected = true; }
// set url
redirectedURL = toState.url; redirectedURL = toState.url;
urlArray.push(redirectedURL);
// console.log("%c" + redirectedURL, "color: yellow; font-size: 72px;"); if (urlArray.length > 1) {
redirectedURL = urlArray[0];
if (Auth.isLoggedIn()) { urlArray = [];
console.log('logged in');
} else {
console.log('logged out');
} }
if (requiresLogin && !Auth.isLoggedIn()) { if (requiresLogin && !Auth.isLoggedIn()) {
event.preventDefault(); event.preventDefault();
$state.go('splash-page'); $state.go('splash-page', { 'toState': toState.name });
// $state.go('splash-page', { 'toState': toState.name, 'toParams': toParams });
} }
}); });
}]); }]);

View File

@ -1,17 +1,14 @@
app.factory('Auth', ['localStorageService', '$location', function(localStorageService, $location) { app.factory('Auth', ['localStorageService', '$location', '$rootScope', function(localStorageService, $location, $rootScope) {
var user; var user;
return{ return{
setUser: function(currentUser){ setUser: function(currentUser){
user = currentUser; user = currentUser;
// console.log("%c" + redirectedURL, "color: red; font-size: 72px;");
if (redirectedURL === '/splash-page') { if (redirectedURL === '/splash-page') {
$location.path('/home'); $location.path('/home');
} else { } else {
$location.path('/' + redirectedURL); $location.path('/' + redirectedURL);
} }
console.log("%c" + redirectedURL, "color: blue; font-size: 14px;");
}, },
isLoggedIn: function(){ isLoggedIn: function(){
user = JSON.parse(localStorageService.get('userAuth')); user = JSON.parse(localStorageService.get('userAuth'));

View File

@ -1,33 +1,33 @@
app.factory('ContactsService', [function(){ app.factory('ContactsService', [function(){
var contacts = [ var contacts = [
{ {
id: 1, id: 1,
name:'Jane Doe', name:'Jane Doe',
email: 'janedoe@test.com', email: 'janedoe@test.com',
description:'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora, repellendus facere expedita, magni cumque, voluptas vero nulla fugit enim ullam repellat earum vitae. Porro repellendus, officia quasi, alias numquam commodi.' description:'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Tempora, repellendus facere expedita, magni cumque, voluptas vero nulla fugit enim ullam repellat earum vitae. Porro repellendus, officia quasi, alias numquam commodi.'
}, },
{ {
id: 2, id: 2,
name:'John Doe', name:'John Doe',
email: 'johndoe@gmail.com', email: 'johndoe@gmail.com',
description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore magnam nostrum officiis dolor delectus ipsa magni error culpa, autem sit, perferendis eligendi officia quod amet perspiciatis dignissimos omnis molestias tempore.' description: 'Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore magnam nostrum officiis dolor delectus ipsa magni error culpa, autem sit, perferendis eligendi officia quod amet perspiciatis dignissimos omnis molestias tempore.'
}, },
{ {
id: 3, id: 3,
name:'Johnny Appleseed', name:'Johnny Appleseed',
email: 'jappleseed@gmail.com', email: 'jappleseed@gmail.com',
description: 'Stuff and things. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore magnam nostrum officiis dolor delectus ipsa magni error culpa, autem sit, perferendis eligendi officia quod amet perspiciatis dignissimos omnis molestias tempore.' description: 'Stuff and things. Lorem ipsum dolor sit amet, consectetur adipisicing elit. Dolore magnam nostrum officiis dolor delectus ipsa magni error culpa, autem sit, perferendis eligendi officia quod amet perspiciatis dignissimos omnis molestias tempore.'
} }
]; ];
return { return {
list: function(){ list: function(){
return contacts; return contacts;
}, },
find: function(id){ find: function(id){
return _.find(contacts,function(contact){ return _.find(contacts,function(contact){
return contact.id == id; return contact.id == id;
}) });
} }
} };
}]); }]);

View File

@ -1 +1,73 @@
<h1>website</h1> <style>
.panel{
box-shadow: none;
border: none;
}
</style>
<div class="home-container">
<div class="white-well">
<h1>Create a new Website</h1>
<h3>Select a Domain</h3>
<div class="input-group">
<input type="text" class="form-control" placeholder="www" />
<span class="input-group-addon">.</span>
<input type="text" class="form-control" placeholder="Select a domain" aria-label="Domain Name">
<div class="input-group-btn">
<!-- Single button -->
<div class="btn-group">
<button type="button" class="btn btn-default dropdown-toggle" data-toggle="dropdown" aria-haspopup="true" aria-expanded="false"><span class="caret"></span>
</button>
<ul class="dropdown-menu">
<li><a href="#">blog.jane.smith.net</a></li>
</ul>
</div>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
Choose or create a public shared folder <button class="btn btn-default">Select Daplie Folder</button>
</div>
</div>
<div class="panel panel-default">
<div class="panel-body">
Who can edit and upload to this site? <input placeholder="Type contact name or email address" type="text" class="form-control">
</div>
</div>
<!-- <div class="form-group">
<div class="pull-right"> -->
<button ng-click="vm.unlock('webpreneur')" type="button" name="button" class="btn btn-default">Create Website</button>
<!-- </div>
</div> -->
</div>
<div class="white-well">
<h1>Your Websites</h1>
<table class="table">
<tbody>
<tr>
<td><a href="new.html" target="_blank">blog.jane.smith.net</a></td>
<td>Sites > blogs > blog.jane.smith.net</td>
<td>jane@smith.net, jack@smith.net, friend@gmail.com</td>
</tr>
<tr>
<td><a href="new.html" target="_blank">jane.smith.com</a></td>
<td>Sites > business > jane test site</td>
<td>jane@smith.net</td>
</tr>
<tr>
<td><a href="new.html" target="_blank">jane.smith.edu</a></td>
<td>Documents > 2017 semester > econ class site</td>
<td>jane@smith.net, teacher@college.edu</td>
</tr>
<!-- <tr>
<td></td>
<td></td>
</tr> -->
</tbody>
</table>
</div>
</div>