New login screen UI
This commit is contained in:
parent
2d4337ef82
commit
f97b8e2304
24 changed files with 394 additions and 212 deletions
|
@ -274,7 +274,13 @@ quayApp.run(['$location', '$rootScope', 'Restangular', 'UserService', 'PlanServi
|
|||
|
||||
if (!current.$$route) { return; }
|
||||
|
||||
$rootScope.pageClass = current.$$route.pageClass || '';
|
||||
var pageClass = current.$$route.pageClass || '';
|
||||
if (typeof pageClass != 'string') {
|
||||
pageClass = pageClass(Features);
|
||||
}
|
||||
|
||||
|
||||
$rootScope.pageClass = pageClass;
|
||||
$rootScope.newLayout = !!current.$$route.newLayout;
|
||||
$rootScope.fixFooter = !!current.$$route.fixFooter;
|
||||
|
||||
|
|
|
@ -160,15 +160,7 @@ angular.module('quay').directive('headerBar', function () {
|
|||
};
|
||||
|
||||
$scope.getEnterpriseLogo = function() {
|
||||
if (!Config.ENTERPRISE_LOGO_URL) {
|
||||
if (Features.BILLING) {
|
||||
return '/static/img/quay-horizontal-whiteblue-nobackground.svg';
|
||||
} else {
|
||||
return '/static/img/QuayEnterprise_horizontal_color.svg'
|
||||
}
|
||||
}
|
||||
|
||||
return Config.ENTERPRISE_LOGO_URL;
|
||||
return Config.getEnterpriseLogo(false);
|
||||
};
|
||||
|
||||
$scope.toggleSearch = function() {
|
||||
|
|
35
static/js/directives/ui/recovery-form.js
Normal file
35
static/js/directives/ui/recovery-form.js
Normal file
|
@ -0,0 +1,35 @@
|
|||
/**
|
||||
* An element which displays a box for the user to recover their account.
|
||||
*/
|
||||
angular.module('quay').directive('recoveryForm', function () {
|
||||
var directiveDefinitionObject = {
|
||||
priority: 0,
|
||||
templateUrl: '/static/directives/recovery-form.html',
|
||||
replace: false,
|
||||
transclude: true,
|
||||
restrict: 'C',
|
||||
scope: {
|
||||
},
|
||||
controller: function($scope, $location, $timeout, ApiService, KeyService, UserService, Config, Features) {
|
||||
$scope.Config = Config;
|
||||
$scope.Features = Features;
|
||||
|
||||
$scope.sendRecovery = function() {
|
||||
$scope.sendingRecovery = true;
|
||||
|
||||
ApiService.requestRecoveryEmail($scope.recovery).then(function(resp) {
|
||||
$scope.invalidRecovery = false;
|
||||
$scope.errorMessage = '';
|
||||
$scope.sent = resp;
|
||||
$scope.sendingRecovery = false;
|
||||
}, function(resp) {
|
||||
$scope.invalidRecovery = true;
|
||||
$scope.errorMessage = ApiService.getErrorMessage(resp, 'Cannot send recovery email');
|
||||
$scope.sent = null;
|
||||
$scope.sendingRecovery = false;
|
||||
});
|
||||
};
|
||||
}
|
||||
};
|
||||
return directiveDefinitionObject;
|
||||
});
|
|
@ -18,8 +18,7 @@ angular.module('quay').directive('signupForm', function () {
|
|||
|
||||
$scope.awaitingConfirmation = false;
|
||||
$scope.registering = false;
|
||||
$scope.EXTERNAL_LOGINS = ExternalLoginService.EXTERNAL_LOGINS;
|
||||
$scope.singleSigninUrl = ExternalLoginService.getSingleSigninUrl();
|
||||
$scope.Config = Config;
|
||||
|
||||
$scope.register = function() {
|
||||
UIService.hidePopover('#signupButton');
|
||||
|
|
|
@ -10,9 +10,10 @@ angular.module('quay').directive('userSetup', function () {
|
|||
restrict: 'C',
|
||||
scope: {
|
||||
'redirectUrl': '=redirectUrl',
|
||||
|
||||
'inviteCode': '=inviteCode',
|
||||
|
||||
'hideLogo': '@hideLogo',
|
||||
|
||||
'signInStarted': '&signInStarted',
|
||||
'signedIn': '&signedIn',
|
||||
'userRegistered': '&userRegistered'
|
||||
|
@ -20,30 +21,23 @@ angular.module('quay').directive('userSetup', function () {
|
|||
controller: function($scope, $location, $timeout, ApiService, KeyService, UserService, Config, Features) {
|
||||
$scope.Config = Config;
|
||||
$scope.Features = Features;
|
||||
$scope.currentView = 'createAccount';
|
||||
|
||||
$scope.sendRecovery = function() {
|
||||
$scope.sendingRecovery = true;
|
||||
var hasSignedIn = function() {
|
||||
return UserService.hasEverLoggedIn() || Config.AUTHENTICATION_TYPE != 'Database';
|
||||
};
|
||||
|
||||
ApiService.requestRecoveryEmail($scope.recovery).then(function(resp) {
|
||||
$scope.invalidRecovery = false;
|
||||
$scope.errorMessage = '';
|
||||
$scope.sent = resp;
|
||||
$scope.sendingRecovery = false;
|
||||
}, function(resp) {
|
||||
$scope.invalidRecovery = true;
|
||||
$scope.errorMessage = ApiService.getErrorMessage(resp, 'Cannot send recovery email');
|
||||
$scope.sent = null;
|
||||
$scope.sendingRecovery = false;
|
||||
});
|
||||
if (hasSignedIn()) {
|
||||
$scope.currentView = 'signin';
|
||||
}
|
||||
|
||||
$scope.setView = function(view) {
|
||||
$scope.currentView = view;
|
||||
};
|
||||
|
||||
$scope.handleUserRegistered = function(username) {
|
||||
$scope.userRegistered({'username': username});
|
||||
};
|
||||
|
||||
$scope.hasSignedIn = function() {
|
||||
return UserService.hasEverLoggedIn() || Config.AUTHENTICATION_TYPE != 'Database';
|
||||
};
|
||||
}
|
||||
};
|
||||
return directiveDefinitionObject;
|
||||
|
|
|
@ -4,7 +4,9 @@
|
|||
*/
|
||||
angular.module('quayPages').config(['pages', function(pages) {
|
||||
pages.create('landing', 'landing.html', LandingCtrl, {
|
||||
'pageClass': 'landing-page'
|
||||
'pageClass': function(Features) {
|
||||
return Features.BILLING ? 'landing-page' : '';
|
||||
}
|
||||
});
|
||||
}]);
|
||||
|
||||
|
@ -20,7 +22,6 @@
|
|||
UserService.updateUserIn($scope, function(user) {
|
||||
if (!user.anonymous) {
|
||||
$location.path('/repository');
|
||||
return;
|
||||
}
|
||||
});
|
||||
|
||||
|
@ -81,13 +82,5 @@
|
|||
}
|
||||
});
|
||||
};
|
||||
|
||||
$scope.getEnterpriseLogo = function() {
|
||||
if (!Config.ENTERPRISE_LOGO_URL) {
|
||||
return '/static/img/QuayEnterprise_horizontal_color.svg';
|
||||
}
|
||||
|
||||
return Config.ENTERPRISE_LOGO_URL;
|
||||
};
|
||||
}
|
||||
})();
|
||||
|
|
|
@ -4,7 +4,7 @@
|
|||
*/
|
||||
angular.module('quayPages').config(['pages', function(pages) {
|
||||
pages.create('signin', 'signin.html', SignInCtrl, {
|
||||
'title': 'Sign In'
|
||||
'title': 'Sign In',
|
||||
});
|
||||
}]);
|
||||
|
||||
|
|
|
@ -35,7 +35,7 @@ angular.module('quay').factory('Features', [function() {
|
|||
/**
|
||||
* Application configuration.
|
||||
*/
|
||||
angular.module('quay').factory('Config', [function() {
|
||||
angular.module('quay').factory('Config', ['Features', function(Features) {
|
||||
if (!window.__config) {
|
||||
return {};
|
||||
}
|
||||
|
@ -71,5 +71,21 @@ angular.module('quay').factory('Config', [function() {
|
|||
return value;
|
||||
};
|
||||
|
||||
config.getEnterpriseLogo = function(forWhiteBackground) {
|
||||
if (!config.ENTERPRISE_LOGO_URL) {
|
||||
if (Features.BILLING) {
|
||||
if (forWhiteBackground) {
|
||||
return '/static/img/quay-horizontal-color.svg';
|
||||
} else {
|
||||
return '/static/img/quay-horizontal-whiteblue-nobackground.svg';
|
||||
}
|
||||
} else {
|
||||
return '/static/img/QuayEnterprise_horizontal_color.svg';
|
||||
}
|
||||
}
|
||||
|
||||
return config.ENTERPRISE_LOGO_URL;
|
||||
};
|
||||
|
||||
return config;
|
||||
}]);
|
Reference in a new issue