Browse Source

Attempted to fix login errors.

Nathaniel van Diepen 10 years ago
parent
commit
d82851ca89
4 changed files with 20 additions and 8 deletions
  1. 1 1
      bugs.appcache
  2. 2 2
      data/pages/login.template
  3. 1 1
      data/version
  4. 16 4
      js/index.js

+ 1 - 1
bugs.appcache

@@ -111,4 +111,4 @@ NETWORK:
 *
 
 FALLBACK:
-Version Mon Nov 18 15:44:22 MST 2013
+Version Wed Nov 20 10:53:51 MST 2013

+ 2 - 2
data/pages/login.template

@@ -29,7 +29,7 @@
 				apiCall(data,function(d){
 					if(!d.error){
 						setKey(d.key);
-						back();
+						back(true);
 					}else{
 						setKey(null);
 						$('#loading').hide();
@@ -38,7 +38,7 @@
 				});
 				return false;
 			}).find('.cancel').click(function(){
-				back();
+				back(true);
 				return false;
 			});
 		});

+ 1 - 1
data/version

@@ -1 +1 @@
-Mon Nov 18 15:44:22 MST 2013
+Wed Nov 20 10:53:51 MST 2013

+ 16 - 4
js/index.js

@@ -103,7 +103,7 @@
 					}else{
 						console.log(d);
 						d.state.title = d.state.title.capitalize();
-						if(location.href.substr(location.href.lastIndexOf('/')+1) != d.state.url){
+						if(location.href.substr(location.href.lastIndexOf('/')+1) != d.state.url && d.state.url != ''){
 							console.log('Forced redirection to '+d.state.url);
 							History.replaceState(d.state.data,d.state.title,d.state.url);
 							getNewState();
@@ -135,6 +135,7 @@
 								error(d);
 							}else{
 								d.state.title = d.state.title.capitalize();
+								d.state.url = href;
 								console.log('pushState: '+d.state.title+'['+href+']');
 								History.pushState(d.state.data,d.state.title,href);
 								getNewState();
@@ -180,6 +181,7 @@
 								error(d);
 							}else{
 								d.state.title = d.state.title.capitalize();
+								d.state.url = href;
 								console.log('pushState: '+d.state.title+'['+href+']');
 								History.replaceState(d.state.data,d.state.title,href);
 								getNewState();
@@ -216,7 +218,7 @@
 				alert(msg.trim(),'Error',callback);
 			}
 		},
-		getNewState = function(){
+		getNewState = function(state){
 			State = History.getState();
 			console.log("State change: ["+State.title+"] "+JSON.stringify(State.data));
 			if(!window.location.origin){
@@ -497,13 +499,23 @@
 				});
 			}
 		},
-		back = window.back = function(){
+		back = window.back = function(reload){
+			console.log('reload',exists(reload));
+			var go = function(url){
+				if(exists(reload)){
+					console.log('FORCING RELOAD');
+					location = url;
+				}else{
+					console.log('FORCING LOADSTATE');
+					loadState(url);
+				}
+			}
 			if(exists(State.data.back)){
 				if(!History.back()){
 					loadState(State.data.back);
 				}
 			}else if(State.data.type != 'page' || State.data.id != 'index'){
-				loadState('page-index');
+				go('page-index');
 			}else{
 				location.reload();
 			}