From 7884fef5f3e47fcf7946401e087532ac88df459b Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Tue, 22 Oct 2013 00:40:33 -0400 Subject: [PATCH 1/2] Fix animation reset in Firefox --- static/css/quay.css | 4 +++- static/js/controllers.js | 6 ++++-- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/static/css/quay.css b/static/css/quay.css index d3c505e3c..a1963bc80 100644 --- a/static/css/quay.css +++ b/static/css/quay.css @@ -587,7 +587,9 @@ p.editable:hover i { color: white; padding: 6px; border-radius: 4px; - +} + +.repo #clipboardCopied.animated { -webkit-animation: fadeOut 4s ease-in-out 0s 1 forwards; -moz-animation: fadeOut 4s ease-in-out 0s 1 forwards; -ms-animation: fadeOut 4s ease-in-out 0s 1 forwards; diff --git a/static/js/controllers.js b/static/js/controllers.js index 48d6a1159..f624c10b7 100644 --- a/static/js/controllers.js +++ b/static/js/controllers.js @@ -4,11 +4,13 @@ $.fn.clipboardCopy = function() { // Resets the animation. var elem = $('#clipboardCopied')[0]; elem.style.display = 'none'; - + elem.classList.remove('animated'); + // Show the notification. setTimeout(function() { elem.style.display = 'inline-block'; - }, 1); + elem.classList.add('animated'); + }, 10); }); }; From d51ab5952b4aeb269604035a9d4b7c18ffe82336 Mon Sep 17 00:00:00 2001 From: Joseph Schorr Date: Tue, 22 Oct 2013 01:26:14 -0400 Subject: [PATCH 2/2] - Add a repo-circle directive and change all repo icons uses to it - Have the repo-circle directive show the padlock in all places - Mention SSL on the landing page and the pricing page --- endpoints/api.py | 3 ++ static/css/quay.css | 71 +++++++++++++++++++----------- static/directives/repo-circle.html | 2 + static/js/app.js | 17 +++++++ static/partials/landing.html | 6 +-- static/partials/plans.html | 5 +++ static/partials/repo-admin.html | 2 +- static/partials/repo-list.html | 4 +- static/partials/view-repo.html | 5 +-- 9 files changed, 80 insertions(+), 35 deletions(-) create mode 100644 static/directives/repo-circle.html diff --git a/endpoints/api.py b/endpoints/api.py index e2229d81b..ab69b71b9 100644 --- a/endpoints/api.py +++ b/endpoints/api.py @@ -202,10 +202,13 @@ def match_repos_api(): @app.route('/api/repository/', methods=['GET']) def list_repos_api(): def repo_view(repo_obj): + is_public = model.repository_is_public(repo_obj.namespace, repo_obj.name) + return { 'namespace': repo_obj.namespace, 'name': repo_obj.name, 'description': repo_obj.description, + 'is_public': is_public } limit = request.args.get('limit', None) diff --git a/static/css/quay.css b/static/css/quay.css index a1963bc80..fd8e2f109 100644 --- a/static/css/quay.css +++ b/static/css/quay.css @@ -2,6 +2,45 @@ font-family: 'Droid Sans', sans-serif; } +.repo-circle { + position: relative; + background: #eee; + padding: 4px; + border-radius: 50%; + display: inline-block; + width: 46px; + height: 46px; + text-align: center; +} + +.repo-circle.no-background { + background: transparent; + height: 40px; + width: 40px; +} + +.repo-circle .icon-lock { + font-size: 50%; + position: absolute; + bottom: -6px; + right: 0px; + background: rgb(253, 191, 191); + width: 20px; + display: inline-block; + border-radius: 50%; + text-align: center; + height: 20px; + line-height: 21px; + font-size: 12px; +} + +.repo-circle.no-background .icon-lock { + bottom: -4px; + right: -6px; + color: #444; +} + + .description-overview { padding: 4px; font-size: 16px; @@ -120,6 +159,11 @@ .plans-list .plan .description { font-size: 1em; font-size: 16px; + margin-bottom: 10px; +} + +.plans-list .plan .smaller { + font-size: 12px; margin-bottom: 30px; } @@ -440,33 +484,11 @@ p.editable:hover i { margin-right: 6px; } -.repo .header .icon-container { - position: relative; - background: #eee; - padding: 4px; - border-radius: 50%; - display: inline-block; - width: 46px; - height: 46px; - text-align: center; +.repo .header .repo-circle { line-height: 38px; margin-right: 10px; } -.repo .header .icon-container .icon-lock { - font-size: 50%; - position: absolute; - bottom: -6px; - right: 0px; - background: rgb(253, 191, 191); - width: 20px; - display: inline-block; - border-radius: 50%; - text-align: center; - height: 20px; - line-height: 21px; -} - .repo .description { margin-bottom: 40px; } @@ -645,8 +667,7 @@ p.editable:hover i { } .repo-listing .description { - margin-top: 6px; - padding-left: 36px; + padding-left: 44px; } .repo-admin .token-dialog-body .well { diff --git a/static/directives/repo-circle.html b/static/directives/repo-circle.html new file mode 100644 index 000000000..62986d4bf --- /dev/null +++ b/static/directives/repo-circle.html @@ -0,0 +1,2 @@ + + diff --git a/static/js/app.js b/static/js/app.js index d05d5b384..73161f17e 100644 --- a/static/js/app.js +++ b/static/js/app.js @@ -165,6 +165,23 @@ quayApp = angular.module('quay', ['restangular', 'angularMoment', 'angulartics', RestangularProvider.setBaseUrl('/api/'); }); +quayApp.directive('repoCircle', function () { + var directiveDefinitionObject = { + priority: 0, + templateUrl: '/static/directives/repo-circle.html', + replace: false, + transclude: false, + restrict: 'C', + scope: { + 'repo': '=repo' + }, + controller: function($scope, $element) { + window.console.log($scope); + } + }; + return directiveDefinitionObject; +}); + quayApp.run(['$location', '$rootScope', function($location, $rootScope) { $rootScope.$on('$routeChangeSuccess', function (event, current, previous) { if (current.$$route.title) { diff --git a/static/partials/landing.html b/static/partials/landing.html index b95bdb7c0..890566750 100644 --- a/static/partials/landing.html +++ b/static/partials/landing.html @@ -15,7 +15,7 @@

Your Top Repositories

@@ -71,8 +71,8 @@ Secure - Store your private docker containers securely where only you and your team - can access it + Store your private docker containers where only you and your team + can access it, with communication secured by SSL at all times
diff --git a/static/partials/plans.html b/static/partials/plans.html index 5dfa42339..84885b790 100644 --- a/static/partials/plans.html +++ b/static/partials/plans.html @@ -13,6 +13,7 @@
${{ plan.price/100 }}
{{ plan.privateRepos }} private repositories
{{ plan.audience }}
+
SSL secured connections
@@ -23,6 +24,10 @@
Can I use Quay for free?
Yes! We offer unlimited storage and serving of public repositories. We strongly believe in the open source community and will do what we can to help!
+ +
Does my plan have secure communication?
+
Yes! All plans provide secure communication to and from Quay via SSL.
+
What types of payment do you accept?
Quay uses Stripe as our payment processor, so we can accept any of the payment options they offer, which are currently: Visa, MasterCard, American Express, JCB, Discover and Diners Club.
diff --git a/static/partials/repo-admin.html b/static/partials/repo-admin.html index e48b89658..b7ebbce1e 100644 --- a/static/partials/repo-admin.html +++ b/static/partials/repo-admin.html @@ -10,7 +10,7 @@

- {{repo.namespace}} / {{repo.name}} + {{repo.namespace}} / {{repo.name}}

diff --git a/static/partials/repo-list.html b/static/partials/repo-list.html index 9bb340d81..a1292e6f2 100644 --- a/static/partials/repo-list.html +++ b/static/partials/repo-list.html @@ -7,7 +7,7 @@

Your Repositories

@@ -25,7 +25,7 @@

Top Public Repositories

diff --git a/static/partials/view-repo.html b/static/partials/view-repo.html index 824354f5d..fc0587ad4 100644 --- a/static/partials/view-repo.html +++ b/static/partials/view-repo.html @@ -10,10 +10,7 @@

- - - - + {{repo.namespace}} / {{repo.name}}