From 1ed2f21a2581e7bbabd0c3c4bfaa7c09ef933ec1 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 04:45:30 +0530 Subject: [PATCH 01/91] Update account.scss --- app/styles/tc/account.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 29a0bf50..88e5e92f 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -201,6 +201,7 @@ text-transform: uppercase; a { display: inline; + color: #0074C6 !important; } .redirect { width: 111px; From c153633a51b9a51fc5882a975711651272825b04 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 04:54:49 +0530 Subject: [PATCH 02/91] Update tc-ui-variables.scss --- app/styles/tc-ui-variables.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index 4485962c..92cf2618 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -39,7 +39,7 @@ $tc-white : #FFFFFF; // Accents & Shades $tc-dark-blue : $tc-dark-blue; -$tc-dark-blue-90 : #1A85FF; +$tc-dark-blue-90 : #0072F0; $tc-dark-blue-70 : #59A7FF; $tc-dark-blue-30 : #CFE6FF; $tc-dark-blue-10 : #F4F9FF; From 0275adf8adefbc507424053fbd88e07a34cfe209 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 05:07:00 +0530 Subject: [PATCH 03/91] Update login.jade --- app/views/tc/login.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index f4bf57ba..239fbc1e 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -30,19 +30,19 @@ span Or Log in With ul.networks - li.network.github + li.network.github(tabIndex="0") a.ico(ng-click="vm.socialLogin('github')") span Github - li.network.google-plus + li.network.google-plus(tabIndex="0") a.ico(ng-click="vm.socialLogin('google-oauth2')") span Google - li.network.facebook + li.network.facebook(tabIndex="0") a.ico(ng-click="vm.socialLogin('facebook')") span Facebook - li.network.twitter + li.network.twitter(tabIndex="0") a.ico(ng-click="vm.socialLogin('twitter')") span Twitter - li.network.sso + li.network.sso(tabIndex="0") a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})") span Single Sign On From f1124f0d19595c9391a9df864fed470285ca0d71 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 05:34:45 +0530 Subject: [PATCH 04/91] Update toggle-password.directive.scss --- app/styles/directives/toggle-password.directive.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/directives/toggle-password.directive.scss b/app/styles/directives/toggle-password.directive.scss index 0bdc3476..f90f4b2b 100644 --- a/app/styles/directives/toggle-password.directive.scss +++ b/app/styles/directives/toggle-password.directive.scss @@ -30,7 +30,7 @@ toggle-password { position: absolute; right: 1px; top: 1px; - background: #DCDCE0; + background: #757584; border: 0; height: 38px; border-radius: 0 3px 3px 0; From ae98023db468fe952e5481b258bd7ca29c7db032 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 05:51:03 +0530 Subject: [PATCH 05/91] Update register.scss --- app/styles/tc/register.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 70813493..4e055196 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -38,7 +38,7 @@ margin-bottom: 20px; margin-top: 10px; p { - color: #a3a3ae; + color: #3A3A3A; font-size: 12px; line-height: 15px; } From 979b70a9159246a450ae1d787dfa602bd7e47fca Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 06:05:16 +0530 Subject: [PATCH 06/91] Update index.jade --- app/index.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/index.jade b/app/index.jade index 7d368b83..cd0962bf 100644 --- a/app/index.jade +++ b/app/index.jade @@ -5,7 +5,7 @@ html(ng-app='accounts') meta(http-equiv='X-UA-Compatible', content='IE=edge, chrome=1') meta(name='viewport', content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no') base(href='/') - title Topcoder + title Login | Topcoder style. .ng-hide { display: none !important; From 2561756100cdce3c1f01c7c3d9b3731c5d3a2594 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 19 Jul 2019 06:16:26 +0530 Subject: [PATCH 07/91] Update login.scss --- app/styles/tc/login.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index d3b93a95..f9420d92 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -26,6 +26,7 @@ font-size: 12px; margin-bottom: 25px; margin-top: 25px; + color: #0079CE; } } section.login-options { From 8e27be6145fbea847012f8945704ae5718b1709e Mon Sep 17 00:00:00 2001 From: Sushil Shinde Date: Fri, 19 Jul 2019 10:33:45 +0530 Subject: [PATCH 08/91] Deploy qa-accessibility on dev env --- .circleci/config.yml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 18ceffcd..539f221b 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -89,7 +89,7 @@ workflows: - build-dev: filters: branches: - only: [ dev, dev-circleci2 ] + only: [ dev, dev-circleci2, qa-accessibility ] - build-qa: filters: branches: From 4c63f1dcf685e3e71008ede7e127c45de875bfbd Mon Sep 17 00:00:00 2001 From: sumitdaga Date: Fri, 19 Jul 2019 12:41:16 +0530 Subject: [PATCH 09/91] MSFT-55 issue-2772 community app --- app/index.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/index.jade b/app/index.jade index 7d368b83..b0b3eaee 100644 --- a/app/index.jade +++ b/app/index.jade @@ -3,7 +3,7 @@ html(ng-app='accounts') head meta(http-equiv='Content-type', content='text/html; charset=utf-8') meta(http-equiv='X-UA-Compatible', content='IE=edge, chrome=1') - meta(name='viewport', content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no') + meta(name='viewport', content='width=device-width, initial-scale=1') base(href='/') title Topcoder style. From e60be7c421de817eb0ceb4e97a10d8b921b99438 Mon Sep 17 00:00:00 2001 From: Nahid Mahbub Date: Fri, 19 Jul 2019 18:18:59 +0600 Subject: [PATCH 10/91] MSFT-185 community app issue-2853 --- connector/connector-wrapper.js | 4 ++-- connector/iframe.js | 6 ++++-- 2 files changed, 6 insertions(+), 4 deletions(-) diff --git a/connector/connector-wrapper.js b/connector/connector-wrapper.js index 645f7a1d..31e3439f 100644 --- a/connector/connector-wrapper.js +++ b/connector/connector-wrapper.js @@ -7,14 +7,14 @@ let url = '' let mock = false let token = '' -export function configureConnector({connectorUrl, frameId, mockMode, mockToken}) { +export function configureConnector({connectorUrl, frameId, mockMode, mockToken, frameTitle}) { if (mockMode) { mock = true token = mockToken } else if (iframe) { console.warn('tc-accounts connector can only be configured once, this request has been ignored.') } else { - iframe = createFrame(frameId, connectorUrl) + iframe = createFrame(frameId, connectorUrl, frameTitle) url = connectorUrl loading = new Promise( (resolve) => { diff --git a/connector/iframe.js b/connector/iframe.js index 50974691..6cb1de4f 100644 --- a/connector/iframe.js +++ b/connector/iframe.js @@ -1,4 +1,4 @@ -export default function createFrame(id, src) { +export default function createFrame(id, src, title) { const iframe = document.createElement('iframe') iframe.id = id @@ -6,7 +6,9 @@ export default function createFrame(id, src) { iframe.width = 0 iframe.height = 0 iframe.frameborder = 0 - + if (title) { + iframe.title = title + } document.body.appendChild(iframe) return iframe From 35388adf28fb48d2f4bf1c934f88e4c6c7b3f8e2 Mon Sep 17 00:00:00 2001 From: Marios Kranitsas Date: Fri, 19 Jul 2019 17:52:02 +0300 Subject: [PATCH 11/91] fix for #2859 --- app/styles/connect/login.scss | 4 ++++ app/styles/tc/account.scss | 6 ++++++ app/styles/tc/register.scss | 10 ++++++++++ 3 files changed, 20 insertions(+) diff --git a/app/styles/connect/login.scss b/app/styles/connect/login.scss index 36af64da..ee7170c3 100644 --- a/app/styles/connect/login.scss +++ b/app/styles/connect/login.scss @@ -8,6 +8,10 @@ flex-direction: column; align-items: center; + span { + text-decoration: underline; + } + hr { width: 50%; } diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 29a0bf50..4c4ae643 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -113,6 +113,9 @@ } .login-options { margin-bottom: 40px; + span { + text-decoration: underline; + } p { @include font-with-weight; color: $accent-gray; @@ -219,6 +222,9 @@ justify-content: center; background-color: $gray-lighter; padding: 20px 30px 20px 30px; + a { + text-decoration: underline; + } .copyright-notice { color: $gray-dark; } diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 70813493..15c2f25a 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -1,6 +1,10 @@ @import 'topcoder/tc-includes'; .register-container { + a { + text-decoration: underline; + } + form { display: flex; flex-flow: column wrap; @@ -54,6 +58,12 @@ } } +.join-topcoder { + a { + text-decoration: underline; + } +} + @media (max-width: 767px) { .register-container { From 2f544ab6070a285dd76fa473aab1dda48619d30a Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Fri, 19 Jul 2019 22:10:22 +0530 Subject: [PATCH 12/91] back to login and privacy policy made clickable using tabs --- app/styles/connect/connect.scss | 4 ++++ app/styles/tc/footer.scss | 4 ++++ app/views/sso/sso-login.jade | 2 +- 3 files changed, 9 insertions(+), 1 deletion(-) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index d034f0b0..5c86a851 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -82,6 +82,10 @@ text-decoration: none; } + a:focus{ + outline: 2px solid #59a7ff; + } + .small-text { margin: (6 * $base-unit) 0 0; font-size: 12px; diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 03c096a8..0880f0c6 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -40,6 +40,10 @@ margin-right: 1.0em; } +a.privacy-policy:focus{ + outline: 2px solid #59a7ff; +} + /* @media only screen and (max-width : 1024px) { .bottom-footer, .fold-pusher { diff --git a/app/views/sso/sso-login.jade b/app/views/sso/sso-login.jade index 83fd3c82..79e5e491 100644 --- a/app/views/sso/sso-login.jade +++ b/app/views/sso/sso-login.jade @@ -18,7 +18,7 @@ main.layout-main.login-reg.flex.center.middle.connect-accounts-container.tc-ui(" input.input.input-sm(type="text" ng-model="vm.emailOrHandle" required=true placeholder="Email or handle" autofocus=true) button.action.tc-btn.tc-btn-primary(type="submit" style="margin-bottom:11px") Continue - p Back to Login + p Back to Login p.success(ng-show="vm.success") Redirecting to {{ vm.retUrl }} ... From 0c90b31f94ef0a02ed6a81b8335dc063c870f183 Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Fri, 19 Jul 2019 23:05:47 +0530 Subject: [PATCH 13/91] added focus to other clickable items on tab --- app/styles/tc/footer.scss | 4 ++++ app/styles/tc/reset-password.scss | 9 +++++++++ 2 files changed, 13 insertions(+) diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 03c096a8..0880f0c6 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -40,6 +40,10 @@ margin-right: 1.0em; } +a.privacy-policy:focus{ + outline: 2px solid #59a7ff; +} + /* @media only screen and (max-width : 1024px) { .bottom-footer, .fold-pusher { diff --git a/app/styles/tc/reset-password.scss b/app/styles/tc/reset-password.scss index 7e768db2..e20781c5 100644 --- a/app/styles/tc/reset-password.scss +++ b/app/styles/tc/reset-password.scss @@ -20,4 +20,13 @@ margin-bottom: 25px; margin-top: 25px; } + .link:focus { + outline: 2px solid #59a7ff; + } + + .tc-btn:focus{ + border: 1px solid #1A85FF; + background-color: #1A85FF; + box-shadow: 0 0 2px 1px #59A7FF; + } } From 03f6559b3a30cb18bb6f8c53e4e8571a7fc483fa Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Fri, 19 Jul 2019 23:32:21 +0530 Subject: [PATCH 14/91] Changes tips heading to level 2 instead of level 3, in register screen as well as forgot password screen --- app/styles/tc/topcoder.scss | 2 +- app/views/tc/register.jade | 8 ++++---- app/views/tc/reset-password.jade | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/styles/tc/topcoder.scss b/app/styles/tc/topcoder.scss index 3faee36a..b7c2e75d 100644 --- a/app/styles/tc/topcoder.scss +++ b/app/styles/tc/topcoder.scss @@ -267,7 +267,7 @@ $tips-background: $gray-lighter; } } } - h3 { + h2 { @include sofia-pro-medium; font-size: 14px; padding-bottom: 15px; diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 7ddac3b6..2b83b0b7 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -47,7 +47,7 @@ .tips.username-tips(ng-show="vm.usernameTips") .arrow - h3 Username Tips: + h2 Username Tips: p Your username will be public @@ -69,7 +69,7 @@ .tips.email-tips(ng-show="vm.emailTips") .arrow - h3 Email Tips: + h2 Email Tips: p Your email address will be private and not shared with anyone. @@ -77,7 +77,7 @@ .tips.email-tips(ng-show="vm.ssoForced") .arrow - h3 Note: + h2 Note: p Your email address will be linked with your Organization account. @@ -97,7 +97,7 @@ .arrow //- h3 Password Tips: - H3 Your password must have: + H2 Your password must have: p(ng-class="{ 'has-length-between-range': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.minlength && !vm.registerForm.password.$error.maxlength && !vm.registerForm.password.$error.required) }") At least 8 characters diff --git a/app/views/tc/reset-password.jade b/app/views/tc/reset-password.jade index 45d3dc0d..7014ff7e 100644 --- a/app/views/tc/reset-password.jade +++ b/app/views/tc/reset-password.jade @@ -18,7 +18,7 @@ .tips.email-tips(ng-show="vm.emailTips") .arrow - h3 Email Tips: + h2 Email Tips: p Enter your email address and we'll get back to you with a reset link @@ -68,7 +68,7 @@ .tips.password-tips(ng-show="vm.passwordFocus") .arrow - h3 Password Tips: + h2 Password Tips: p(ng-class="{ 'has-length-between-range': (vm.resetPasswordForm.password.$dirty && !vm.resetPasswordForm.password.$error.minlength && !vm.resetPasswordForm.password.$error.maxlength && !vm.resetPasswordForm.password.$error.required) }") Must be between 8 and 64 characters From 37bed232cbbc026567987db1cc2851d75e431442 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 19 Jul 2019 23:46:23 +0530 Subject: [PATCH 15/91] changes for MSFT253 --- app/styles/connect/connect.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index d034f0b0..8e567755 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -75,6 +75,7 @@ p.error { text-align: center; + color: #df1e07; } a { From 272dc61b85dcf5d40bffe76445b5ba5852afe243 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Sat, 20 Jul 2019 00:03:23 +0530 Subject: [PATCH 16/91] Update register.scss --- app/styles/tc/register.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 70813493..24d4839e 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables"; .register-container { form { @@ -8,6 +9,10 @@ align-items: center; button { margin-top: 0; + &.disabled { + background-color: $tc-gray-65; + color: $tc-white-cream; + } } @media (min-width: 768px) { From 4903b81320a3a2a00188762ab9b96e128bf8b48a Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Sat, 20 Jul 2019 00:04:25 +0530 Subject: [PATCH 17/91] Update tc-ui-variables.scss --- app/styles/tc-ui-variables.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index 4485962c..67925ef8 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -27,6 +27,7 @@ $tc-black : #262628; $tc-gray-90 : #37373C; $tc-gray-80 : #47474F; $tc-gray-70 : #5D5D66; +$tc-gray-65 : #6c7275; $tc-gray-60 : #747480; $tc-gray-50 : #888894; $tc-gray-40 : #A3A3AD; @@ -36,6 +37,7 @@ $tc-gray-10 : #EDEDF2; $tc-gray-neutral-dark : #EBEBEB; $tc-gray-neutral-light : #FAFAFB; $tc-white : #FFFFFF; +$tc-white-cream : #F6F6F6; // Accents & Shades $tc-dark-blue : $tc-dark-blue; From 5da8400535b4763b29868c31ebc98eb318ab9f58 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Sat, 20 Jul 2019 00:09:37 +0530 Subject: [PATCH 18/91] changes for MSFT88 --- app/styles/connect/connect.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index d034f0b0..d574b812 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -80,6 +80,7 @@ a { color: #0B71E6; text-decoration: none; + outline-width: 3px; } .small-text { From dcd5173c1fd75b153b648d68b84837a8f3d033a1 Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Sat, 20 Jul 2019 00:24:54 +0530 Subject: [PATCH 19/91] social icons to be included by screen reader --- app/styles/tc/register.scss | 4 ++++ app/views/tc/register.jade | 6 +++--- 2 files changed, 7 insertions(+), 3 deletions(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 70813493..752a1192 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -52,6 +52,10 @@ max-width: 180px; } } + + .login-options .networks .network .ico:focus { + outline: 3px solid #77A1F8; + } } diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 7ddac3b6..e22d8611 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -117,13 +117,13 @@ ul.networks li.network.github - a.ico(ng-click="vm.socialRegister('github')") + a.ico(ng-click="vm.socialRegister('github')", tabindex="0", title="Register with Github") span Github li.network.google-plus - a.ico(ng-click="vm.socialRegister('google-oauth2')") + a.ico(ng-click="vm.socialRegister('google-oauth2')", tabindex="0", title="Register with Google") span Google li.network.facebook - a.ico(ng-click="vm.socialRegister('facebook')") + a.ico(ng-click="vm.socialRegister('facebook')", tabindex="0", title="Register with Facebook") span Facebook .join-topcoder From a06b30677f9501c3b54a48054b01b721d826f485 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Sat, 20 Jul 2019 00:47:15 +0530 Subject: [PATCH 20/91] changes for MSFT-74 --- app/views/login.jade | 8 ++++---- 1 file changed, 4 insertions(+), 4 deletions(-) diff --git a/app/views/login.jade b/app/views/login.jade index aa4016d9..45743ecc 100644 --- a/app/views/login.jade +++ b/app/views/login.jade @@ -16,14 +16,14 @@ div | or Login with your social account. ul li - a(href="#" ng-click="vm.socialLogin('facebook')" ng-disabled='vm.loading') + a(href="#" ng-click="vm.socialLogin('facebook')" ng-disabled='vm.loading' tabindex="0") | Facebook li - a(href="#" ng-click="vm.socialLogin('github')" ng-disabled='vm.loading') + a(href="#" ng-click="vm.socialLogin('github')" ng-disabled='vm.loading' tabindex="0") | Github li - a(href="#" ng-click="vm.socialLogin('google-oauth2')" ng-disabled='vm.loading') + a(href="#" ng-click="vm.socialLogin('google-oauth2')" ng-disabled='vm.loading' tabindex="0") | Google li - a(href="#" ng-click="vm.socialLogin('twitter')" ng-disabled='vm.loading') + a(href="#" ng-click="vm.socialLogin('twitter')" ng-disabled='vm.loading' tabindex="0") | Twitter From 060ea9c451ed2860e42cd11bef3000646d3e9d47 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Sat, 20 Jul 2019 01:09:18 +0530 Subject: [PATCH 21/91] Update login.jade --- app/views/tc/login.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index f4bf57ba..3a94a0ad 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -31,19 +31,19 @@ ul.networks li.network.github - a.ico(ng-click="vm.socialLogin('github')") + a.ico(ng-click="vm.socialLogin('github')", title="Login via Github", tabIndex="0") span Github li.network.google-plus - a.ico(ng-click="vm.socialLogin('google-oauth2')") + a.ico(ng-click="vm.socialLogin('google-oauth2')", title="Login via Google", tabIndex="0") span Google li.network.facebook - a.ico(ng-click="vm.socialLogin('facebook')") + a.ico(ng-click="vm.socialLogin('facebook')", title="Login via Facebook", tabIndex="0") span Facebook li.network.twitter - a.ico(ng-click="vm.socialLogin('twitter')") + a.ico(ng-click="vm.socialLogin('twitter')", title="Login via Twitter", tabIndex="0") span Twitter li.network.sso - a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})") + a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", title="Login via Single Sign On", tabIndex="0") span Single Sign On p.join-topcoder Not a member yet?   From 9e92209d1f01bedde743ae169c71a4c2e4f014be Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Sat, 20 Jul 2019 01:19:35 +0530 Subject: [PATCH 22/91] changes for MSFT-113 --- app/views/tc/login.jade | 6 +++--- app/views/tc/register.jade | 18 +++++++++--------- app/views/tc/reset-password.jade | 12 ++++++------ 3 files changed, 18 insertions(+), 18 deletions(-) diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index f4bf57ba..fa0e32e1 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -9,11 +9,11 @@ form(name="vm.loginForm", role="form", ng-submit="vm.loginForm.$valid && vm.login()", novalidate) .form-errors(ng-messages="vm.loginErrors") - p.form-error(ng-message="USERNAME_NONEXISTANT") We couldn't find a member with that {{vm.emailOrUsername || "username"}}. Please check that you entered it correctly. + p.form-error(ng-message="USERNAME_NONEXISTANT" role="alert") We couldn't find a member with that {{vm.emailOrUsername || "username"}}. Please check that you entered it correctly. - p.form-error(ng-message="WRONG_PASSWORD") That password is incorrect. Please check that you entered the right one. + p.form-error(ng-message="WRONG_PASSWORD" role="alert") That password is incorrect. Please check that you entered the right one. - p.form-error(ng-message="SOCIAL_LOGIN_ERROR") User with that profile is not registered. + p.form-error(ng-message="SOCIAL_LOGIN_ERROR" role="alert") User with that profile is not registered. div.validation-bar(ng-class="{'error-bar': vm.loginErrors.USERNAME_NONEXISTANT}") input(ng-model="vm.username", name="username", placeholder="Username or Email", type="text", required) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 7ddac3b6..72bf8a31 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -11,7 +11,7 @@ // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) input(autocomplete="false", name="hidden", type="text", style="display:none;") - p.form-error(ng-show="vm.errMsg") {{vm.errMsg}} + p.form-error(ng-show="vm.errMsg" role="alert") {{vm.errMsg}} .first-last-names input-sticky-placeholder(sticky-placeholder="First", ng-model="vm.firstname") @@ -36,7 +36,7 @@ ) .form-input-error(ng-show="vm.registerForm.country.$dirty && !vm.isValidCountry") - p.form-error(ng-show="!vm.isValidCountry") Please choose a country from the list + p.form-error(ng-show="!vm.isValidCountry" role="alert") Please choose a country from the list .section-break hr @@ -56,12 +56,12 @@ p It can contain letters, numbers, and these characters: -_.{}[] .form-input-error(ng-if="vm.registerForm.username.$dirty && vm.registerForm.username.$invalid", ng-messages="vm.registerForm.username.$error") - p.form-error(ng-message="required") Please enter a username. - p.form-error(ng-message="usernameIsFree") {{vm.usernameErrorMessage}} + p.form-error(ng-message="required" role="alert") Please enter a username. + p.form-error(ng-message="usernameIsFree" role="alert") {{vm.usernameErrorMessage}} - p.form-error(ng-message="minlength") That username is not the correct length or format. + p.form-error(ng-message="minlength" role="alert") That username is not the correct length or format. - p.form-error(ng-message="maxlength") That username is not the correct length or format. + p.form-error(ng-message="maxlength" role="alert") That username is not the correct length or format. .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") @@ -84,11 +84,11 @@ p Please use Single Sign On when you log in to Topcoder. .form-input-error(ng-show="vm.registerForm.email.$dirty && vm.registerForm.email.$invalid", ng-messages="vm.registerForm.email.$error") - p.form-error(ng-message="emailIsAvailable") {{vm.emailErrorMessage}} + p.form-error(ng-message="emailIsAvailable" role="alert") {{vm.emailErrorMessage}} - p.form-error(ng-message="validEmail") {{vm.emailErrorMessage}} + p.form-error(ng-message="validEmail" role="alert") {{vm.emailErrorMessage}} - p.form-error(ng-message="required") Please enter an email address. + p.form-error(ng-message="required" role="alert") Please enter an email address. .validation-bar toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") diff --git a/app/views/tc/reset-password.jade b/app/views/tc/reset-password.jade index 45d3dc0d..2bcdaf13 100644 --- a/app/views/tc/reset-password.jade +++ b/app/views/tc/reset-password.jade @@ -23,17 +23,17 @@ p Enter your email address and we'll get back to you with a reset link .form-errors - p.form-error(ng-show="vm.generateTokenForm.email.$dirty && vm.generateTokenForm.email.$invalid") Please enter a valid email address. + p.form-error(ng-show="vm.generateTokenForm.email.$dirty && vm.generateTokenForm.email.$invalid" role="alert") Please enter a valid email address. - p.form-error(ng-show="vm.alreadySent") You already requested a reset link recently. Please check your inbox or spam folder. If you have any trouble, please contact  + p.form-error(ng-show="vm.alreadySent" role="alert") You already requested a reset link recently. Please check your inbox or spam folder. If you have any trouble, please contact  a(href="mailto:support@topcoder.com?Subject=Unable%20to%20reset%20my%20password" target="_top") support@topcoder.com - p.form-error(ng-show="vm.emailNotFound") We couldn't find a member with that email address. Please check that you entered it correctly. If you continue to have trouble, please contact  + p.form-error(ng-show="vm.emailNotFound" role="alert") We couldn't find a member with that email address. Please check that you entered it correctly. If you continue to have trouble, please contact  a(href="mailto:support@topcoder.com?Subject=Unable%20to%20reset%20my%20password" target="_top") support@topcoder.com - p.form-error(ng-show="vm.unableToRest") We were unable to send you a reset link because your account is not allowed to reset password. If you are using Single Sign On, please follow the instructions of your SSO account to reset password. + p.form-error(ng-show="vm.unableToRest" role="alert") We were unable to send you a reset link because your account is not allowed to reset password. If you are using Single Sign On, please follow the instructions of your SSO account to reset password. - p.form-error(ng-show="vm.unkownError") We were unable to send you a reset link because of a temporary problem. Please try again. If you continue to have trouble, please contact  + p.form-error(ng-show="vm.unkownError" role="alert") We were unable to send you a reset link because of a temporary problem. Please try again. If you continue to have trouble, please contact  a(href="mailto:support@topcoder.com?Subject=Unable%20to%20reset%20my%20password" target="_top") support@topcoder.com button.tc-btn(type="submit", ng-disabled='vm.generateTokenForm.email.$invalid || vm.loading', ng-class="{'enabled-button': vm.generateTokenForm.$valid && !vm.loading}") Get Reset Link @@ -77,7 +77,7 @@ p(ng-class="{ 'has-symbol-or-number': (vm.resetPasswordForm.password.$dirty && !vm.resetPasswordForm.password.$error.hasSymbolOrNumber) }") At least one number or symbol .form-errors - p.form-error(ng-show="vm.resetFailed") We were unable to reset your password. Please request another reset link. If you continue to have trouble, please contact + p.form-error(ng-show="vm.resetFailed" role="alert") We were unable to reset your password. Please request another reset link. If you continue to have trouble, please contact a(href="mailto:support@topcoder.com?Subject=Unable%20to%20reset%20my%20password" target="_top") support@topcoder.com button.tc-btn(type="submit", ng-disabled='vm.resetPasswordForm.password.$invalid || vm.loading', ng-class="{'enabled-button': vm.resetPasswordForm.$valid && !vm.loading}") Set Password From 56fc79b5a8fd490d6eb8430d39e9c10ec051e6d2 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Sat, 20 Jul 2019 03:18:59 +0530 Subject: [PATCH 23/91] Update register.scss --- app/styles/tc/register.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 70813493..13d2481a 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -52,6 +52,10 @@ max-width: 180px; } } + + .tc-btn:focus { + outline: 2px solid #59a7ff; + } } From ec0f9a75bc79e5415927088d8c239e27f64340cb Mon Sep 17 00:00:00 2001 From: dzanchett Date: Fri, 19 Jul 2019 22:53:27 -0300 Subject: [PATCH 24/91] Issue 2738 fix --- app/styles/tc/account.scss | 12 +----------- app/views/tc/login.jade | 10 ++++++++++ 2 files changed, 11 insertions(+), 11 deletions(-) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 29a0bf50..8e19674a 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -146,25 +146,19 @@ } .github { .ico { - background-image: url(../../images/tc/github.svg); - background-repeat: no-repeat; color: #404041; } } .facebook { margin-left: 41px; .ico { - background-image: url(../../images/tc/facebook.svg); - background-repeat: no-repeat; color: #0d72b9; } } .google-plus { margin-left: 43px; .ico { - background-image: url(../../images/tc/gplus.svg); - background-position: center; - background-repeat: no-repeat; + padding-top: 10px; border: 1px solid #d1d3d4; border-radius: 4px; color: #ee4036; @@ -173,16 +167,12 @@ .twitter { margin-left: 40px; .ico { - background-image: url(../../images/tc/twitter.svg); - background-repeat: no-repeat; color: #26a9e0; } } .sso { margin-left: 22px; .ico { - background-image: url(../../images/tc/sso.svg); - background-repeat: no-repeat; color: #000000; } } diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index f4bf57ba..e64d005c 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -1,4 +1,9 @@ - var logoMobile = require("../../images/logo_mobile.svg") +- var logoGithub = require("../../images/tc/github.svg") +- var logoGooglePlus = require("../../images/tc/gplus.svg") +- var logoFacebook = require("../../images/tc/facebook.svg") +- var logoTwitter = require("../../images/tc/twitter.svg") +- var logoSso = require("../../images/tc/sso.svg") .login-container header @@ -32,18 +37,23 @@ ul.networks li.network.github a.ico(ng-click="vm.socialLogin('github')") + img(src=logoGithub, alt="Github Logo") span Github li.network.google-plus a.ico(ng-click="vm.socialLogin('google-oauth2')") + img(src=logoGooglePlus, alt="Google Logo") span Google li.network.facebook a.ico(ng-click="vm.socialLogin('facebook')") + img(src=logoFacebook, alt="Facebook Logo") span Facebook li.network.twitter a.ico(ng-click="vm.socialLogin('twitter')") + img(src=logoTwitter, alt="Twitter Logo") span Twitter li.network.sso a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})") + img(src=logoSso, alt="Single Sign On Logo") span Single Sign On p.join-topcoder Not a member yet?   From 4e34ce49a1920e253528e356ae4ad8a9d92d91cb Mon Sep 17 00:00:00 2001 From: dzanchett Date: Fri, 19 Jul 2019 00:35:01 -0300 Subject: [PATCH 25/91] bug fixes --- app/views/tc/reset-password.jade | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/views/tc/reset-password.jade b/app/views/tc/reset-password.jade index 45d3dc0d..cd20eb85 100644 --- a/app/views/tc/reset-password.jade +++ b/app/views/tc/reset-password.jade @@ -38,7 +38,8 @@ button.tc-btn(type="submit", ng-disabled='vm.generateTokenForm.email.$invalid || vm.loading', ng-class="{'enabled-button': vm.generateTokenForm.$valid && !vm.loading}") Get Reset Link - a.link(ui-sref="MEMBER_LOGIN") Back to Login + p.link + a(ui-sref="MEMBER_LOGIN") Back to Login .reset-password-container(ng-show="vm.resetTokenSent") header @@ -51,7 +52,8 @@ p(class="m-b-lg") We have sent you an email with a link to reset your password. - a.link(ui-sref="MEMBER_LOGIN") Back to Login + p.link + a(ui-sref="MEMBER_LOGIN") Back to Login .reset-password-container(ng-show="vm.token") header @@ -82,4 +84,5 @@ button.tc-btn(type="submit", ng-disabled='vm.resetPasswordForm.password.$invalid || vm.loading', ng-class="{'enabled-button': vm.resetPasswordForm.$valid && !vm.loading}") Set Password - a.link(ui-sref="MEMBER_LOGIN") Back to Login + p.link + a(ui-sref="MEMBER_LOGIN") Back to Login From bb563cbbcbef490df1ccc3212e94205121a642e4 Mon Sep 17 00:00:00 2001 From: Nahid Mahbub Date: Sat, 20 Jul 2019 09:54:07 +0600 Subject: [PATCH 26/91] MSFT-41 community app issue-2763 --- app/views/tc/register.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 7ddac3b6..96adbc10 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -7,7 +7,7 @@ h1 Join Topcoder form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") - + label(for="registration") Registration form // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) input(autocomplete="false", name="hidden", type="text", style="display:none;") From 7ac16618a9fcb397b5d32e0299b3704f0b02d8cc Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Sun, 21 Jul 2019 16:55:36 +0530 Subject: [PATCH 27/91] changes for MSFT-230 --- app/styles/connect/connect.scss | 2 +- app/styles/directives/toggle-password.directive.scss | 4 +++- app/styles/tc/account.scss | 6 +++--- 3 files changed, 7 insertions(+), 5 deletions(-) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index d034f0b0..b3f00185 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -78,7 +78,7 @@ } a { - color: #0B71E6; + color: #006dea; text-decoration: none; } diff --git a/app/styles/directives/toggle-password.directive.scss b/app/styles/directives/toggle-password.directive.scss index 0bdc3476..ec386c6d 100644 --- a/app/styles/directives/toggle-password.directive.scss +++ b/app/styles/directives/toggle-password.directive.scss @@ -30,12 +30,14 @@ toggle-password { position: absolute; right: 1px; top: 1px; - background: #DCDCE0; + background: #ffffff; border: 0; + border-left: 1px solid #c3c3c8; height: 38px; border-radius: 0 3px 3px 0; box-shadow: none; line-height: inherit; + color: #47474f; } button#toggleInputTypeBtn { diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 29a0bf50..63ebc784 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -96,7 +96,7 @@ } span { @include font-with-weight('Sofia Pro', 500); - color: $accent-gray; + color: #6b6b6b; cursor: pointer; font-size: 10px; line-height: 13px; @@ -115,7 +115,7 @@ margin-bottom: 40px; p { @include font-with-weight; - color: $accent-gray; + color: #6b6b6b; font-size: 13px; line-height: 22px; text-transform: uppercase; @@ -220,7 +220,7 @@ background-color: $gray-lighter; padding: 20px 30px 20px 30px; .copyright-notice { - color: $gray-dark; + color: #6b6b6b; } } From 68d75a7e19170db7d1392e4c20abea9e662b0ef3 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Sun, 21 Jul 2019 20:17:00 +0530 Subject: [PATCH 28/91] Update tc-ui-variables.scss --- app/styles/tc-ui-variables.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index 92cf2618..e9473b05 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -39,7 +39,7 @@ $tc-white : #FFFFFF; // Accents & Shades $tc-dark-blue : $tc-dark-blue; -$tc-dark-blue-90 : #0072F0; +$tc-dark-blue-90 : #006AD7; $tc-dark-blue-70 : #59A7FF; $tc-dark-blue-30 : #CFE6FF; $tc-dark-blue-10 : #F4F9FF; From 87fd5cbd878a3058f3cd30f7ac858d4a9a3babc9 Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Mon, 22 Jul 2019 09:39:10 +0530 Subject: [PATCH 29/91] added tabindex to country field --- app/views/tc/register.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 7ddac3b6..0994ea2a 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -31,7 +31,7 @@ search-fields="name", title-field="name", match-class="angucomplete-highlight", - + field-tabindex="0" minlength="1" ) From ad97ba029ae797f342de2855c75908ca8626cc46 Mon Sep 17 00:00:00 2001 From: Mihai Cucicea Date: Mon, 22 Jul 2019 12:00:55 +0300 Subject: [PATCH 30/91] fix merge. --- app/views/tc/login.jade | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index 3a94a0ad..93a9f84c 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -30,19 +30,19 @@ span Or Log in With ul.networks - li.network.github + li.network.github(tabIndex="0") a.ico(ng-click="vm.socialLogin('github')", title="Login via Github", tabIndex="0") span Github - li.network.google-plus + li.network.google-plus(tabIndex="0") a.ico(ng-click="vm.socialLogin('google-oauth2')", title="Login via Google", tabIndex="0") span Google - li.network.facebook + li.network.facebook(tabIndex="0") a.ico(ng-click="vm.socialLogin('facebook')", title="Login via Facebook", tabIndex="0") span Facebook - li.network.twitter + li.network.twitter(tabIndex="0") a.ico(ng-click="vm.socialLogin('twitter')", title="Login via Twitter", tabIndex="0") span Twitter - li.network.sso + li.network.sso(tabIndex="0") a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", title="Login via Single Sign On", tabIndex="0") span Single Sign On From cc2a303520c35ac54d24b5c88fb0e35cc9e61dda Mon Sep 17 00:00:00 2001 From: Mihai Cucicea Date: Mon, 22 Jul 2019 13:12:47 +0300 Subject: [PATCH 31/91] Color was getting overwritten by another class. --- app/styles/tc/register.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 24d4839e..458e9e1e 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -10,7 +10,7 @@ button { margin-top: 0; &.disabled { - background-color: $tc-gray-65; + background-color: $tc-gray-65!important; color: $tc-white-cream; } } From 4b81a070ccf8867c93a00a57dca6d3875344e7ff Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Mon, 22 Jul 2019 17:39:50 +0530 Subject: [PATCH 32/91] update color --- app/styles/connect/connect.scss | 2 +- app/styles/tc-ui-variables.scss | 1 + 2 files changed, 2 insertions(+), 1 deletion(-) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index 8e567755..444fe586 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -75,7 +75,7 @@ p.error { text-align: center; - color: #df1e07; + color: $tc-red-110; } a { diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index 4485962c..a92e787e 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -56,6 +56,7 @@ $tc-orange-70 : #FDA464; $tc-orange-30 : #FEE3D0; $tc-orange-10 : #FFF0EB; +$tc-red-110 : #DF1E07; $tc-red : #F22F24; $tc-red-70 : #FF5B52; $tc-red-30 : #FFD4D1; From e55bc74136047168cec30b37d28a975c734870b7 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Tue, 23 Jul 2019 01:33:30 +0530 Subject: [PATCH 33/91] update color --- app/styles/tc/footer.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 03c096a8..970ff961 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -38,6 +38,9 @@ .privacy-policy { @extend .copyright-notice; margin-right: 1.0em; + &:focus { + color:#097dce; + } } /* From cfa1a8845c3a4e94ad592ecc31522d928d77d5bc Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Tue, 23 Jul 2019 04:34:24 +0700 Subject: [PATCH 34/91] Register username, email, password tooltip. --- .../toggle-password-with-tips.directive.jade | 2 ++ app/views/tc/register.jade | 12 ++++++------ 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/views/directives/toggle-password-with-tips.directive.jade b/app/views/directives/toggle-password-with-tips.directive.jade index 68633b05..90de5022 100644 --- a/app/views/directives/toggle-password-with-tips.directive.jade +++ b/app/views/directives/toggle-password-with-tips.directive.jade @@ -15,6 +15,8 @@ maxlength="64", has-letter, has-symbol-or-number, + aria-describedby="tp-help-password", + aria-required="false", class="input input-btn {{ vm.hasPasswordError() ? 'error' : ''}}" required) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 2c9db746..fa228cdd 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -43,9 +43,9 @@ .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") - input(ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="vm.usernameTips = false", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) + input(aria-describedby="tp-help-username", aria-required="false", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="vm.usernameTips = false", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) - .tips.username-tips(ng-show="vm.usernameTips") + .tips.username-tips(id="tp-help-username", ng-show="vm.usernameTips") .arrow h2 Username Tips: @@ -65,9 +65,9 @@ .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") - input(ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="vm.emailTips = false", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") + input(aria-describedby="tp-help-email", aria-required="false", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="vm.emailTips = false", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") - .tips.email-tips(ng-show="vm.emailTips") + .tips.email-tips(id="tp-help-email", ng-show="vm.emailTips") .arrow h2 Email Tips: @@ -75,7 +75,7 @@ p We'll occasionally send you emails related to your activities or interests. - .tips.email-tips(ng-show="vm.ssoForced") + .tips.email-tips(ng-show="vm.ssoForced") .arrow h2 Note: @@ -93,7 +93,7 @@ .validation-bar toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") - .tips.password-tips(ng-show="vm.passwordFocus && !vm.ssoForced") + .tips.password-tips(id="tp-help-password", ng-show="vm.passwordFocus && !vm.ssoForced") .arrow //- h3 Password Tips: From e509a0f7921f1e8e007dc7beabe41a03690fe664 Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Tue, 23 Jul 2019 08:27:59 +0700 Subject: [PATCH 35/91] Update for issue 2897 --- app/views/tc/register.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 4d963d26..8b78091d 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -7,7 +7,7 @@ div(role="region", aria-label="Registration Form", style="display: flex;flex-direction: column;") h1 Join Topcoder - form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") + form(name="vm.registerForm", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) input(autocomplete="false", name="hidden", type="text", style="display:none;") From f23b5829d318f5a1a74da0354c83e99c17c7f1ef Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Tue, 23 Jul 2019 09:50:44 +0530 Subject: [PATCH 36/91] added lang attribute to html --- app/index.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/index.jade b/app/index.jade index 7d368b83..7d60c1f8 100644 --- a/app/index.jade +++ b/app/index.jade @@ -1,5 +1,5 @@ doctype html -html(ng-app='accounts') +html(ng-app='accounts', xmlns='http://www.w3.org/1999/xhtml', lang='en', xml:lang='en') head meta(http-equiv='Content-type', content='text/html; charset=utf-8') meta(http-equiv='X-UA-Compatible', content='IE=edge, chrome=1') From 3cc6406753c82d03d12df337aa8b91ad19f4fceb Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Tue, 23 Jul 2019 14:40:35 +0700 Subject: [PATCH 37/91] Register page region. --- app/index.jade | 2 +- app/views/tc/register.jade | 174 +++++++++++++++++++------------------ 2 files changed, 89 insertions(+), 87 deletions(-) diff --git a/app/index.jade b/app/index.jade index cd0962bf..d06455c3 100644 --- a/app/index.jade +++ b/app/index.jade @@ -16,7 +16,7 @@ html(ng-app='accounts') .img ui-view.view-container - div(ui-view="footer", ng-controller="FooterController as vm", ng-hide="hideCommonFooter") + div(ui-view="footer", ng-controller="FooterController as vm", ng-hide="hideCommonFooter", role="region" aria-label="Footer") .account-footer a.privacy-policy(ng-href="https://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") | Privacy Policy diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 2c9db746..4d963d26 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -4,128 +4,130 @@ img(src=require("../../images/logo_mobile.svg"), alt="Topcoder Logo") .arrow //- h1 Join the Topcoder technology community to earn, learn, and connect - h1 Join Topcoder + div(role="region", aria-label="Registration Form", style="display: flex;flex-direction: column;") + h1 Join Topcoder - form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") + form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") - // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) - input(autocomplete="false", name="hidden", type="text", style="display:none;") + // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) + input(autocomplete="false", name="hidden", type="text", style="display:none;") - p.form-error(ng-show="vm.errMsg" role="alert") {{vm.errMsg}} + p.form-error(ng-show="vm.errMsg" role="alert") {{vm.errMsg}} - .first-last-names - input-sticky-placeholder(sticky-placeholder="First", ng-model="vm.firstname") - input(ng-model="vm.firstname", maxlength="64", name="firstname", placeholder="First Name", type="text", required) + .first-last-names + input-sticky-placeholder(sticky-placeholder="First", ng-model="vm.firstname") + input(ng-model="vm.firstname", maxlength="64", name="firstname", placeholder="First Name", type="text", required) - input-sticky-placeholder(sticky-placeholder="Last", ng-model="vm.lastname") - input(ng-model="vm.lastname", maxlength="64", name="lastname", placeholder="Last Name", type="text", required) + input-sticky-placeholder(sticky-placeholder="Last", ng-model="vm.lastname") + input(ng-model="vm.lastname", maxlength="64", name="lastname", placeholder="Last Name", type="text", required) - .country-dropdown - angucomplete-alt( - input-name="country", - placeholder="Country", - pause="100", - selected-object="vm.updateCountry", - local-data="vm.countries", - initial-value="vm.countryObj", - search-fields="name", - title-field="name", - match-class="angucomplete-highlight", - field-tabindex="0" - minlength="1" - ) + .country-dropdown + angucomplete-alt( + input-name="country", + placeholder="Country", + pause="100", + selected-object="vm.updateCountry", + local-data="vm.countries", + initial-value="vm.countryObj", + search-fields="name", + title-field="name", + match-class="angucomplete-highlight", + field-tabindex="0" + minlength="1" + ) - .form-input-error(ng-show="vm.registerForm.country.$dirty && !vm.isValidCountry") - p.form-error(ng-show="!vm.isValidCountry" role="alert") Please choose a country from the list + .form-input-error(ng-show="vm.registerForm.country.$dirty && !vm.isValidCountry") + p.form-error(ng-show="!vm.isValidCountry" role="alert") Please choose a country from the list - .section-break - hr + .section-break + hr - .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") - input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") - input(ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="vm.usernameTips = false", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) + .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") + input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") + input(ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="vm.usernameTips = false", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) - .tips.username-tips(ng-show="vm.usernameTips") - .arrow - h2 Username Tips: + .tips.username-tips(ng-show="vm.usernameTips") + .arrow + h2 Username Tips: - p Your username will be public + p Your username will be public - p Please choose one that is between 2 and 15 characters + p Please choose one that is between 2 and 15 characters - p It can contain letters, numbers, and these characters: -_.{}[] + p It can contain letters, numbers, and these characters: -_.{}[] - .form-input-error(ng-if="vm.registerForm.username.$dirty && vm.registerForm.username.$invalid", ng-messages="vm.registerForm.username.$error") - p.form-error(ng-message="required" role="alert") Please enter a username. - p.form-error(ng-message="usernameIsFree" role="alert") {{vm.usernameErrorMessage}} + .form-input-error(ng-if="vm.registerForm.username.$dirty && vm.registerForm.username.$invalid", ng-messages="vm.registerForm.username.$error") + p.form-error(ng-message="required" role="alert") Please enter a username. + p.form-error(ng-message="usernameIsFree" role="alert") {{vm.usernameErrorMessage}} - p.form-error(ng-message="minlength" role="alert") That username is not the correct length or format. + p.form-error(ng-message="minlength" role="alert") That username is not the correct length or format. - p.form-error(ng-message="maxlength" role="alert") That username is not the correct length or format. + p.form-error(ng-message="maxlength" role="alert") That username is not the correct length or format. - .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") - input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") - input(ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="vm.emailTips = false", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") + .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") + input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") + input(ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="vm.emailTips = false", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") - .tips.email-tips(ng-show="vm.emailTips") - .arrow - h2 Email Tips: + .tips.email-tips(ng-show="vm.emailTips") + .arrow + h2 Email Tips: - p Your email address will be private and not shared with anyone. + p Your email address will be private and not shared with anyone. - p We'll occasionally send you emails related to your activities or interests. + p We'll occasionally send you emails related to your activities or interests. - .tips.email-tips(ng-show="vm.ssoForced") - .arrow - h2 Note: + .tips.email-tips(ng-show="vm.ssoForced") + .arrow + h2 Note: - p Your email address will be linked with your Organization account. + p Your email address will be linked with your Organization account. - p Please use Single Sign On when you log in to Topcoder. + p Please use Single Sign On when you log in to Topcoder. - .form-input-error(ng-show="vm.registerForm.email.$dirty && vm.registerForm.email.$invalid", ng-messages="vm.registerForm.email.$error") - p.form-error(ng-message="emailIsAvailable" role="alert") {{vm.emailErrorMessage}} + .form-input-error(ng-show="vm.registerForm.email.$dirty && vm.registerForm.email.$invalid", ng-messages="vm.registerForm.email.$error") + p.form-error(ng-message="emailIsAvailable" role="alert") {{vm.emailErrorMessage}} - p.form-error(ng-message="validEmail" role="alert") {{vm.emailErrorMessage}} + p.form-error(ng-message="validEmail" role="alert") {{vm.emailErrorMessage}} - p.form-error(ng-message="required" role="alert") Please enter an email address. + p.form-error(ng-message="required" role="alert") Please enter an email address. - .validation-bar - toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") + .validation-bar + toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") - .tips.password-tips(ng-show="vm.passwordFocus && !vm.ssoForced") - .arrow - //- h3 Password Tips: + .tips.password-tips(ng-show="vm.passwordFocus && !vm.ssoForced") + .arrow + //- h3 Password Tips: - H2 Your password must have: + H2 Your password must have: - p(ng-class="{ 'has-length-between-range': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.minlength && !vm.registerForm.password.$error.maxlength && !vm.registerForm.password.$error.required) }") At least 8 characters + p(ng-class="{ 'has-length-between-range': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.minlength && !vm.registerForm.password.$error.maxlength && !vm.registerForm.password.$error.required) }") At least 8 characters - p(ng-class="{ 'has-letter': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasLetter) }") At least one letter + p(ng-class="{ 'has-letter': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasLetter) }") At least one letter - p(ng-class="{ 'has-symbol-or-number': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasSymbolOrNumber) }") At least one number or symbol + p(ng-class="{ 'has-symbol-or-number': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasSymbolOrNumber) }") At least one number or symbol - section.terms - p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] + section.terms + p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] - button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join - button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled") Join + button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join + button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled") Join - section.login-options(ng-if="!vm.ssoUser") - p.tc-separator - span Or Register With + div(role="region" aria-label="Register With") + section.login-options(ng-if="!vm.ssoUser") + p.tc-separator + span Or Register With - ul.networks - li.network.github - a.ico(ng-click="vm.socialRegister('github')", tabindex="0", title="Register with Github") - span Github - li.network.google-plus - a.ico(ng-click="vm.socialRegister('google-oauth2')", tabindex="0", title="Register with Google") - span Google - li.network.facebook - a.ico(ng-click="vm.socialRegister('facebook')", tabindex="0", title="Register with Facebook") - span Facebook + ul.networks + li.network.github + a.ico(ng-click="vm.socialRegister('github')", tabindex="0", title="Register with Github") + span Github + li.network.google-plus + a.ico(ng-click="vm.socialRegister('google-oauth2')", tabindex="0", title="Register with Google") + span Google + li.network.facebook + a.ico(ng-click="vm.socialRegister('facebook')", tabindex="0", title="Register with Facebook") + span Facebook -.join-topcoder +.join-topcoder(role="region" aria-label="Login") span Have an account?   a(ui-sref="MEMBER_LOGIN") Log in From 400d8dd1366af562092dd9e4589e068d89364374 Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Tue, 23 Jul 2019 18:54:42 +0530 Subject: [PATCH 38/91] replaced hardcoded color values with variables --- app/styles/tc/footer.scss | 53 ++++++++++++++++--------------- app/styles/tc/reset-password.scss | 11 ++++--- 2 files changed, 33 insertions(+), 31 deletions(-) diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 0880f0c6..f5e2467d 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -1,47 +1,48 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables"; .bottom-footer { - background-color: $gray-darkest; - padding: 1px 20px 30px 20px; + background-color: $gray-darkest; + padding: 1px 20px 30px 20px; } .social-links { - font-size: 13px; - line-height: 1.2em; - text-align: center; - font-weight: normal; - margin: 35px 0; - color: #fff; - - a { - display: inline-block; - background-size: contain; - background-repeat: no-repeat; - margin: 23px 0; - - + a { - margin-left: 30px; - } - } + font-size: 13px; + line-height: 1.2em; + text-align: center; + font-weight: normal; + margin: 35px 0; + color: #fff; + + a { + display: inline-block; + background-size: contain; + background-repeat: no-repeat; + margin: 23px 0; + + + a { + margin-left: 30px; + } + } } .copyright-notice { - text-align: center; + text-align: center; font-size: 12px; line-height: 14px; color: #656565; @include font-with-weight('Sofia Pro', 500); - justify-content: center; - text-transform: uppercase; + justify-content: center; + text-transform: uppercase; } .privacy-policy { - @extend .copyright-notice; - margin-right: 1.0em; + @extend .copyright-notice; + margin-right: 1.0em; } -a.privacy-policy:focus{ - outline: 2px solid #59a7ff; +a.privacy-policy:focus { + outline: 2px solid $tc-dark-blue-90; } /* diff --git a/app/styles/tc/reset-password.scss b/app/styles/tc/reset-password.scss index e20781c5..f9924072 100644 --- a/app/styles/tc/reset-password.scss +++ b/app/styles/tc/reset-password.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables"; .reset-password-container { form { @@ -21,12 +22,12 @@ margin-top: 25px; } .link:focus { - outline: 2px solid #59a7ff; + outline: 2px solid $tc-dark-blue-90; } - .tc-btn:focus{ - border: 1px solid #1A85FF; - background-color: #1A85FF; - box-shadow: 0 0 2px 1px #59A7FF; + .tc-btn:focus { + border: 1px solid $tc-dark-blue-90; + background-color: $tc-dark-blue-90; + box-shadow: 0 0 2px 1px $tc-dark-blue-70; } } From aa20e3d23de059671da1471fc6776e681a9ee2a3 Mon Sep 17 00:00:00 2001 From: Romit Choudhary Date: Tue, 23 Jul 2019 19:04:27 +0530 Subject: [PATCH 39/91] replaced hardcoded color values with tc variables --- app/styles/connect/connect.scss | 2 +- app/styles/tc/footer.scss | 3 ++- 2 files changed, 3 insertions(+), 2 deletions(-) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index 5c86a851..c9515536 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -83,7 +83,7 @@ } a:focus{ - outline: 2px solid #59a7ff; + outline: 2px solid $tc-dark-blue-70; } .small-text { diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 0880f0c6..36c8ae4e 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables"; .bottom-footer { background-color: $gray-darkest; @@ -41,7 +42,7 @@ } a.privacy-policy:focus{ - outline: 2px solid #59a7ff; + outline: 2px solid $tc-dark-blue-70; } /* From 598ec32b4a49a2992cee751166bd9ab625dc6152 Mon Sep 17 00:00:00 2001 From: dzanchett Date: Tue, 23 Jul 2019 19:50:06 -0300 Subject: [PATCH 40/91] Issue 2738 fix - register.jade --- app/views/tc/register.jade | 10 +++++++++- 1 file changed, 9 insertions(+), 1 deletion(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 7ddac3b6..ed3ac693 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -1,7 +1,12 @@ +- var logoMobile = require("../../images/logo_mobile.svg") +- var logoGithub = require("../../images/tc/github.svg") +- var logoGooglePlus = require("../../images/tc/gplus.svg") +- var logoFacebook = require("../../images/tc/facebook.svg") + .register-container header a.logo-link(href="/") - img(src=require("../../images/logo_mobile.svg"), alt="Topcoder Logo") + img(src=logoMobile, alt="Topcoder Logo") .arrow //- h1 Join the Topcoder technology community to earn, learn, and connect h1 Join Topcoder @@ -118,12 +123,15 @@ ul.networks li.network.github a.ico(ng-click="vm.socialRegister('github')") + img(src=logoGithub, alt="Github Logo") span Github li.network.google-plus a.ico(ng-click="vm.socialRegister('google-oauth2')") + img(src=logoGooglePlus, alt="Google Logo") span Google li.network.facebook a.ico(ng-click="vm.socialRegister('facebook')") + img(src=logoFacebook, alt="Facebook Logo") span Facebook .join-topcoder From 7efd0155b4c27fff89db08706fb556ca1edff7b7 Mon Sep 17 00:00:00 2001 From: mishacucicea Date: Wed, 24 Jul 2019 02:21:17 +0300 Subject: [PATCH 41/91] Revert "issue 2768 fix" --- app/styles/tc/login.scss | 1 - 1 file changed, 1 deletion(-) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index f9420d92..d3b93a95 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -26,7 +26,6 @@ font-size: 12px; margin-bottom: 25px; margin-top: 25px; - color: #0079CE; } } section.login-options { From b7e3038abb89a65dbade5aab3b1a34a471463551 Mon Sep 17 00:00:00 2001 From: mishacucicea Date: Wed, 24 Jul 2019 02:25:18 +0300 Subject: [PATCH 42/91] Revert "Issue 2775 fix" --- app/styles/tc-ui-variables.scss | 2 -- app/styles/tc/register.scss | 5 ----- 2 files changed, 7 deletions(-) diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index 5f3e9e42..c9f7be32 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -27,7 +27,6 @@ $tc-black : #262628; $tc-gray-90 : #37373C; $tc-gray-80 : #47474F; $tc-gray-70 : #5D5D66; -$tc-gray-65 : #6c7275; $tc-gray-60 : #747480; $tc-gray-50 : #888894; $tc-gray-40 : #A3A3AD; @@ -37,7 +36,6 @@ $tc-gray-10 : #EDEDF2; $tc-gray-neutral-dark : #EBEBEB; $tc-gray-neutral-light : #FAFAFB; $tc-white : #FFFFFF; -$tc-white-cream : #F6F6F6; // Accents & Shades $tc-dark-blue : $tc-dark-blue; diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 6491a272..394cb1bc 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -1,5 +1,4 @@ @import 'topcoder/tc-includes'; -@import "../tc-ui-variables"; .register-container { form { @@ -9,10 +8,6 @@ align-items: center; button { margin-top: 0; - &.disabled { - background-color: $tc-gray-65!important; - color: $tc-white-cream; - } } @media (min-width: 768px) { From 33d43bdbccf34ea88029483ee6b05f40012d5526 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Wed, 24 Jul 2019 12:10:04 +0530 Subject: [PATCH 43/91] Update account.scss --- app/styles/tc/account.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 88e5e92f..97dbe539 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -201,7 +201,7 @@ text-transform: uppercase; a { display: inline; - color: #0074C6 !important; + color: #006dea !important; } .redirect { width: 111px; From a7818484d652a66aa296c32f86e2fa9667d255da Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Wed, 24 Jul 2019 12:25:03 +0530 Subject: [PATCH 44/91] Update login.scss --- app/styles/tc/login.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index f9420d92..8d3b85dd 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -26,7 +26,7 @@ font-size: 12px; margin-bottom: 25px; margin-top: 25px; - color: #0079CE; + color: #006DEA; } } section.login-options { From 960e6b656095e3f2b3fd02a7627fc63e9f76ee7f Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Wed, 24 Jul 2019 12:35:22 +0530 Subject: [PATCH 45/91] Update toggle-password.directive.scss --- app/styles/directives/toggle-password.directive.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/directives/toggle-password.directive.scss b/app/styles/directives/toggle-password.directive.scss index ec386c6d..be4818b0 100644 --- a/app/styles/directives/toggle-password.directive.scss +++ b/app/styles/directives/toggle-password.directive.scss @@ -30,7 +30,7 @@ toggle-password { position: absolute; right: 1px; top: 1px; - background: #ffffff; + background: #006AD7; border: 0; border-left: 1px solid #c3c3c8; height: 38px; From ce087dd78c801a056c06634abb6cc1c20a691b46 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Wed, 24 Jul 2019 14:10:50 +0530 Subject: [PATCH 46/91] Update tc-ui.scss --- app/styles/tc-ui.scss | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/styles/tc-ui.scss b/app/styles/tc-ui.scss index 7d400da4..393b2b4b 100644 --- a/app/styles/tc-ui.scss +++ b/app/styles/tc-ui.scss @@ -93,6 +93,10 @@ font-family: inherit; font-weight: inherit; } + + .tc-btn.show-password-btn:focus { + outline: 2px solid #59a7ff; + } .tc-btn.loading:enabled, .tc-btn:focus:not(:disabled) { background: $tc-white; @@ -356,4 +360,4 @@ font-size: 15px; line-height: 20px; } -} \ No newline at end of file +} From 6a41b6ed5c9e46474458c7cb50d56792814610d5 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Wed, 24 Jul 2019 14:11:55 +0530 Subject: [PATCH 47/91] Update toggle-password-with-tips.directive.jade --- app/views/directives/toggle-password-with-tips.directive.jade | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/views/directives/toggle-password-with-tips.directive.jade b/app/views/directives/toggle-password-with-tips.directive.jade index 68633b05..7a3ef980 100644 --- a/app/views/directives/toggle-password-with-tips.directive.jade +++ b/app/views/directives/toggle-password-with-tips.directive.jade @@ -18,4 +18,4 @@ class="input input-btn {{ vm.hasPasswordError() ? 'error' : ''}}" required) - \ No newline at end of file + From fdf8a0cc67ef10e45299a88099e2b438e4a66fba Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Wed, 24 Jul 2019 14:12:53 +0530 Subject: [PATCH 48/91] Update register.jade --- app/views/tc/register.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 4bc56831..2238db08 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -113,8 +113,8 @@ section.terms p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] - button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join - button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled") Join + button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry", tabIndex="0") Join + button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled", tabIndex="0") Join section.login-options(ng-if="!vm.ssoUser") p.tc-separator From 3f6eb7d8e41bbb9cc294afbbf73d6e71713aba15 Mon Sep 17 00:00:00 2001 From: Mihai Cucicea Date: Thu, 25 Jul 2019 00:28:37 +0300 Subject: [PATCH 49/91] reusing color from the variables file and made login color white. --- app/styles/directives/toggle-password.directive.scss | 5 +++-- 1 file changed, 3 insertions(+), 2 deletions(-) diff --git a/app/styles/directives/toggle-password.directive.scss b/app/styles/directives/toggle-password.directive.scss index be4818b0..7c414d24 100644 --- a/app/styles/directives/toggle-password.directive.scss +++ b/app/styles/directives/toggle-password.directive.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import '../tc-ui-variables.scss'; // Toggle password directive toggle-password { @@ -30,14 +31,14 @@ toggle-password { position: absolute; right: 1px; top: 1px; - background: #006AD7; + background: $tc-dark-blue-90; border: 0; border-left: 1px solid #c3c3c8; height: 38px; border-radius: 0 3px 3px 0; box-shadow: none; line-height: inherit; - color: #47474f; + color: #ffffff; } button#toggleInputTypeBtn { From d607e024bc3d5aae4c3b408eb204a56c234cf24e Mon Sep 17 00:00:00 2001 From: Muhamad Fikri Alhawarizmi Date: Thu, 25 Jul 2019 11:14:27 +0700 Subject: [PATCH 50/91] fix https://github.com/topcoder-platform/community-app/issues/2912 --- app/index.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/index.jade b/app/index.jade index cd0962bf..cb33c66b 100644 --- a/app/index.jade +++ b/app/index.jade @@ -17,8 +17,8 @@ html(ng-app='accounts') ui-view.view-container div(ui-view="footer", ng-controller="FooterController as vm", ng-hide="hideCommonFooter") - .account-footer + footer.account-footer(tabindex="-1", onkeydown="return false;") a.privacy-policy(ng-href="https://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") | Privacy Policy - p.copyright-notice(ng-bind-html="vm.copyrightNotice") + p.copyright-notice(ng-bind-html="vm.copyrightNotice", tabindex="-1", onkeydown="return false;") include ./views/segment.io.jade From 44812f5f6fcab07391589d99beeb33c4df6642e4 Mon Sep 17 00:00:00 2001 From: gets0ul Date: Thu, 25 Jul 2019 12:29:46 +0700 Subject: [PATCH 51/91] MSFT-54 Fix page title. Set up the base for specifying individual title for other pages when needed in future. --- app/app-config.coffee | 2 ++ app/app-run.coffee | 2 ++ app/index.jade | 2 +- 3 files changed, 5 insertions(+), 1 deletion(-) diff --git a/app/app-config.coffee b/app/app-config.coffee index 3a9fcb3a..315ed98e 100644 --- a/app/app-config.coffee +++ b/app/app-config.coffee @@ -72,6 +72,7 @@ config = ( states['MEMBER_LOGIN'] = url: '/member?retUrl&handle&password&return_to&client_id&response_type&state&redirect_uri&scope' + title: 'Login' controller : 'TCLoginController as vm' template: require('./views/tc/login')() public: true @@ -87,6 +88,7 @@ config = ( # message : (optional) A message handed by Identity Service when some error occurs states['MEMBER_REGISTRATION'] = url: '/member/registration?retUrl&utm_source&utm_medium&utm_campaign&userJWTToken&auth0Jwt&auth0Refresh&message' + title: 'Register' params: { 'auth0Data', 'regForm' } controller : 'TCRegistrationController as vm' template: require('./views/tc/register.jade')() diff --git a/app/app-run.coffee b/app/app-run.coffee index 5ba2def2..afa3b6af 100644 --- a/app/app-run.coffee +++ b/app/app-run.coffee @@ -9,6 +9,8 @@ run = ($log, $rootScope, $state, $urlRouter, $location) -> # hide common footer and banner for connect pages to allow new styled footer for connect $rootScope.hideCommonFooter = toState.url && toState.url.indexOf('/connect') != -1 + # page title + $rootScope.pageTitle = toState.title path = $location.path() queryString = '' referrer = '' diff --git a/app/index.jade b/app/index.jade index cd0962bf..1f2088d8 100644 --- a/app/index.jade +++ b/app/index.jade @@ -5,7 +5,7 @@ html(ng-app='accounts') meta(http-equiv='X-UA-Compatible', content='IE=edge, chrome=1') meta(name='viewport', content='width=device-width, initial-scale=1, maximum-scale=1, minimum-scale=1, user-scalable=no') base(href='/') - title Login | Topcoder + title(ng-bind="pageTitle ? pageTitle + ' | Topcoder' : 'Topcoder'") style. .ng-hide { display: none !important; From 7e657a379cc7272947c9e11b05681b4801075a98 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Thu, 25 Jul 2019 22:21:17 +0530 Subject: [PATCH 52/91] Update tc-ui.scss --- app/styles/tc-ui.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc-ui.scss b/app/styles/tc-ui.scss index 393b2b4b..2ec9a5d2 100644 --- a/app/styles/tc-ui.scss +++ b/app/styles/tc-ui.scss @@ -95,7 +95,7 @@ } .tc-btn.show-password-btn:focus { - outline: 2px solid #59a7ff; + outline: 2px solid $tc-dark-blue-70; } .tc-btn.loading:enabled, .tc-btn:focus:not(:disabled) { From e83bd268ed50b83ded60e04afab998b0098e7ae3 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Thu, 25 Jul 2019 23:22:09 +0530 Subject: [PATCH 53/91] changes for MSFT-91 --- app/styles/connect/connect.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index d034f0b0..d574b812 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -80,6 +80,7 @@ a { color: #0B71E6; text-decoration: none; + outline-width: 3px; } .small-text { From 201d2aa80405245d1743e5d543af291fe13b678e Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Thu, 25 Jul 2019 23:57:50 +0530 Subject: [PATCH 54/91] Update tc-ui-variables.scss --- app/styles/tc-ui-variables.scss | 2 ++ 1 file changed, 2 insertions(+) diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index c9f7be32..5f3e9e42 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -27,6 +27,7 @@ $tc-black : #262628; $tc-gray-90 : #37373C; $tc-gray-80 : #47474F; $tc-gray-70 : #5D5D66; +$tc-gray-65 : #6c7275; $tc-gray-60 : #747480; $tc-gray-50 : #888894; $tc-gray-40 : #A3A3AD; @@ -36,6 +37,7 @@ $tc-gray-10 : #EDEDF2; $tc-gray-neutral-dark : #EBEBEB; $tc-gray-neutral-light : #FAFAFB; $tc-white : #FFFFFF; +$tc-white-cream : #F6F6F6; // Accents & Shades $tc-dark-blue : $tc-dark-blue; From 1798a70dafad604aea8e9c4ff1e3c46b7ad8c660 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Thu, 25 Jul 2019 23:58:34 +0530 Subject: [PATCH 55/91] Update register.scss --- app/styles/tc/register.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 394cb1bc..9c432404 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables"; .register-container { form { @@ -8,6 +9,10 @@ align-items: center; button { margin-top: 0; + &.disabled { + background-color: $tc-gray-65 !important; + color: $tc-white-cream; + } } @media (min-width: 768px) { From 48d532e362a21ee79f27f4e0b6ec3192c2a69b50 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Fri, 26 Jul 2019 00:13:54 +0530 Subject: [PATCH 56/91] Update register.scss --- app/styles/tc/register.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 7c188c74..10ab28c0 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -53,7 +53,7 @@ } } .tc-btn:focus { - outline: 2px solid #59a7ff; + outline: 2px solid $tc-dark-blue-70; } .login-options .networks .network .ico:focus { outline: 3px solid #77A1F8; From 53cfcfef3dbfdcf21eecde461a0bcefddbcbd786 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 26 Jul 2019 14:40:05 +0530 Subject: [PATCH 57/91] update colors --- app/styles/tc/footer.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 47cbde18..1ba178c3 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -39,6 +39,10 @@ .privacy-policy { @extend .copyright-notice; margin-right: 1.0em; + + &:focus { + color: $tc-dark-blue; + } } a.privacy-policy:focus { From b0d84bf5aa2b7f12f2e453cc0559763fd265ace9 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 26 Jul 2019 14:42:19 +0530 Subject: [PATCH 58/91] update colors --- app/styles/tc/footer.scss | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/app/styles/tc/footer.scss b/app/styles/tc/footer.scss index 1ba178c3..c79da19a 100644 --- a/app/styles/tc/footer.scss +++ b/app/styles/tc/footer.scss @@ -40,9 +40,9 @@ @extend .copyright-notice; margin-right: 1.0em; - &:focus { - color: $tc-dark-blue; - } + &:focus { + color: $tc-dark-blue; + } } a.privacy-policy:focus { From 7199559b244f4baf8f25f321a64d2d5ad8458d6c Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 26 Jul 2019 15:11:57 +0530 Subject: [PATCH 59/91] changes for MSFT-91 --- app/styles/tc/login.scss | 4 ++++ 1 file changed, 4 insertions(+) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index d3b93a95..fbeeb9e1 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -9,6 +9,10 @@ p + button { margin-top: 0; + + &:focus { + outline: 3px auto $tc-dark-blue-90; + } } } .form-errors { From 55a262c622a9e5984af64922f07b1430ddd2f494 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 26 Jul 2019 15:58:12 +0530 Subject: [PATCH 60/91] update colors --- app/styles/directives/toggle-password.directive.scss | 6 +++--- app/styles/tc-ui-variables.scss | 2 +- app/styles/tc/account.scss | 6 +++--- 3 files changed, 7 insertions(+), 7 deletions(-) diff --git a/app/styles/directives/toggle-password.directive.scss b/app/styles/directives/toggle-password.directive.scss index 7c414d24..007e87dc 100644 --- a/app/styles/directives/toggle-password.directive.scss +++ b/app/styles/directives/toggle-password.directive.scss @@ -31,14 +31,14 @@ toggle-password { position: absolute; right: 1px; top: 1px; - background: $tc-dark-blue-90; + background: $tc-white; border: 0; - border-left: 1px solid #c3c3c8; + border-left: 1px solid $tc-gray-30; height: 38px; border-radius: 0 3px 3px 0; box-shadow: none; line-height: inherit; - color: #ffffff; + color: $tc-gray-80; } button#toggleInputTypeBtn { diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index c9f7be32..37836db4 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -27,7 +27,7 @@ $tc-black : #262628; $tc-gray-90 : #37373C; $tc-gray-80 : #47474F; $tc-gray-70 : #5D5D66; -$tc-gray-60 : #747480; +$tc-gray-60 : #6B6B6B; $tc-gray-50 : #888894; $tc-gray-40 : #A3A3AD; $tc-gray-30 : #C3C3C8; diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 5be12b12..0f0afa65 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -96,7 +96,7 @@ } span { @include font-with-weight('Sofia Pro', 500); - color: #6b6b6b; + color: $tc-gray-60; cursor: pointer; font-size: 10px; line-height: 13px; @@ -115,7 +115,7 @@ margin-bottom: 40px; p { @include font-with-weight; - color: #6b6b6b; + color: $tc-gray-60; font-size: 13px; line-height: 22px; text-transform: uppercase; @@ -210,7 +210,7 @@ background-color: $gray-lighter; padding: 20px 30px 20px 30px; .copyright-notice { - color: #6b6b6b; + color: $tc-gray-60; } } From 644735cc234549cf9b517292004ed718e22becc6 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 26 Jul 2019 16:06:04 +0530 Subject: [PATCH 61/91] update colors --- app/styles/connect/connect.scss | 2 +- app/styles/tc/account.scss | 2 +- 2 files changed, 2 insertions(+), 2 deletions(-) diff --git a/app/styles/connect/connect.scss b/app/styles/connect/connect.scss index 97ea0dab..161d139b 100644 --- a/app/styles/connect/connect.scss +++ b/app/styles/connect/connect.scss @@ -79,7 +79,7 @@ } a { - color: #006dea; + color: $tc-dark-blue-90; text-decoration: none; } diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 1bfdc6e4..23c92bfb 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -194,7 +194,7 @@ text-transform: uppercase; a { display: inline; - color: #006dea !important; + color: $tc-dark-blue-90 !important; } .redirect { width: 111px; From 2c4432ef75e27e9512ff4f6e558345c0a3fa0cea Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 26 Jul 2019 16:43:13 +0530 Subject: [PATCH 62/91] changes for MSFT-91 --- app/styles/tc/account.scss | 5 +++++ app/styles/tc/login.scss | 5 +++++ 2 files changed, 10 insertions(+) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 9e0ab177..b21bbab3 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -1,5 +1,6 @@ @import 'topcoder/tc-includes'; @import 'topcoder/tc-forms'; +@import '../tc-ui-variables.scss'; .login-container, .register-container, @@ -195,6 +196,10 @@ a { display: inline; color: #006dea !important; + + &:focus { + outline: 3px auto $tc-dark-blue-90; + } } .redirect { width: 111px; diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index fbeeb9e1..f6aec8c6 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables"; .login-container { form { @@ -30,6 +31,10 @@ font-size: 12px; margin-bottom: 25px; margin-top: 25px; + + &:focus { + outline: 3px auto $tc-dark-blue-90; + } } } section.login-options { From 10001c68d1cc8d594a0a83120dbb7a9fe3529c50 Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Sat, 27 Jul 2019 06:13:31 +0700 Subject: [PATCH 63/91] Fix after merge. --- app/views/tc/register.jade | 6 +++++- 1 file changed, 5 insertions(+), 1 deletion(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 214f67f5..64849ed0 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -12,7 +12,7 @@ div(role="region", aria-label="Registration Form", style="display: flex;flex-direction: column;") h1 Join Topcoder - form(name="vm.registerForm", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") + form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) input(autocomplete="false", name="hidden", type="text", style="display:none;") @@ -121,15 +121,19 @@ section.login-options(ng-if="!vm.ssoUser") p.tc-separator span Or Register With + ul.networks li.network.github a.ico(ng-click="vm.socialRegister('github')", tabindex="0", title="Register with Github") + img(src=logoGithub, alt="Github Logo") span Github li.network.google-plus a.ico(ng-click="vm.socialRegister('google-oauth2')", tabindex="0", title="Register with Google") + img(src=logoGooglePlus, alt="Google Logo") span Google li.network.facebook a.ico(ng-click="vm.socialRegister('facebook')", tabindex="0", title="Register with Facebook") + img(src=logoFacebook, alt="Facebook Logo") span Facebook .join-topcoder(role="region" aria-label="Login") From 4b156094721d00371ce8e0a89fface5874c4b0d8 Mon Sep 17 00:00:00 2001 From: dzanchett Date: Sun, 28 Jul 2019 00:55:41 -0300 Subject: [PATCH 64/91] Issue 2738 fix --- app/styles/tc/account.scss | 2 +- app/views/tc/login.jade | 10 +++++----- 2 files changed, 6 insertions(+), 6 deletions(-) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 5be12b12..1d7dfecb 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -25,7 +25,7 @@ height: 70px; position: relative; - .logo-link img { + .logo-link img, .ico img { display: inline-block; height: 30px; } diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index c600e554..a2cc4ed2 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -36,23 +36,23 @@ ul.networks li.network.github(tabIndex="0") - a.ico(ng-click="vm.socialLogin('github')") + a.ico(ng-click="vm.socialLogin('github')", title="Login with GitHub") img(src=logoGithub, alt="Github Logo") span Github li.network.google-plus(tabIndex="0") - a.ico(ng-click="vm.socialLogin('google-oauth2')") + a.ico(ng-click="vm.socialLogin('google-oauth2')", title="Login with Google") img(src=logoGooglePlus, alt="Google Logo") span Google li.network.facebook(tabIndex="0") - a.ico(ng-click="vm.socialLogin('facebook')") + a.ico(ng-click="vm.socialLogin('facebook')", title="Login with Facebook") img(src=logoFacebook, alt="Facebook Logo") span Facebook li.network.twitter(tabIndex="0") - a.ico(ng-click="vm.socialLogin('twitter')") + a.ico(ng-click="vm.socialLogin('twitter')", title="Login with Twitter") img(src=logoTwitter, alt="Twitter Logo") span Twitter li.network.sso(tabIndex="0") - a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})") + a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", title="Login with Single Sign On") img(src=logoSso, alt="Single Sign On Logo") span Single Sign On From b2135dedc348e9f4428abc2400f5e11de17915a4 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Sun, 28 Jul 2019 13:07:23 +0530 Subject: [PATCH 65/91] Update login.scss --- app/styles/tc/login.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 2bb47b6c..2690be86 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -31,7 +31,7 @@ font-size: 12px; margin-bottom: 25px; margin-top: 25px; - color: #006DEA; + color: #0096ff; &:focus { outline: 3px auto $tc-dark-blue-90; } From 97df24b423bae904897495e5c240e5db41f8b2dd Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Mon, 29 Jul 2019 00:24:25 +0530 Subject: [PATCH 66/91] update colors --- app/styles/tc-ui-variables.scss | 1 + app/styles/tc/login.scss | 9 +++++++++ 2 files changed, 10 insertions(+) diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index 37836db4..ba016e19 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -38,6 +38,7 @@ $tc-gray-neutral-light : #FAFAFB; $tc-white : #FFFFFF; // Accents & Shades +$tc-dark-blue-110 : #006AD7; $tc-dark-blue : $tc-dark-blue; $tc-dark-blue-90 : #006AD7; $tc-dark-blue-70 : #59A7FF; diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 2bb47b6c..44cf0c31 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -21,6 +21,15 @@ margin-bottom: 20px; } } + + button[type=submit] { + background-color: $tc-dark-blue-110 !important; + } + + button[type=submit]:disabled { + background-color: $tc-gray-60 !important; + } + .problem-signin { @include font-with-weight('Merriweather Sans'); color: #a3a3ae; From e890869d2e13da4bb9ed884274976031c01ed60f Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Mon, 29 Jul 2019 11:23:17 +0530 Subject: [PATCH 67/91] Revert "Issue 2768 fix" --- app/styles/tc/login.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 2690be86..2bb47b6c 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -31,7 +31,7 @@ font-size: 12px; margin-bottom: 25px; margin-top: 25px; - color: #0096ff; + color: #006DEA; &:focus { outline: 3px auto $tc-dark-blue-90; } From 7abe11215b4edefb9f8edf4aa2ead5427c337d3c Mon Sep 17 00:00:00 2001 From: Mihai Cucicea Date: Mon, 29 Jul 2019 12:32:27 +0300 Subject: [PATCH 68/91] Fixing colors --- app/styles/directives/toggle-password-with-tips.directive.scss | 3 ++- app/styles/tc-ui-variables.scss | 1 - app/styles/tc/register.scss | 2 +- 3 files changed, 3 insertions(+), 3 deletions(-) diff --git a/app/styles/directives/toggle-password-with-tips.directive.scss b/app/styles/directives/toggle-password-with-tips.directive.scss index a7863505..9fd946cc 100644 --- a/app/styles/directives/toggle-password-with-tips.directive.scss +++ b/app/styles/directives/toggle-password-with-tips.directive.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import "../tc-ui-variables.scss"; // Toggle password with password tips directive toggle-password-with-tips { @@ -30,7 +31,7 @@ toggle-password-with-tips { position: absolute; right: 1px; top: 1px; - background: #DCDCE0; + background: $tc-gray-60; border: 0; height: 38px; border-radius: 0 3px 3px 0; diff --git a/app/styles/tc-ui-variables.scss b/app/styles/tc-ui-variables.scss index c9900002..ea449c74 100644 --- a/app/styles/tc-ui-variables.scss +++ b/app/styles/tc-ui-variables.scss @@ -27,7 +27,6 @@ $tc-black : #262628; $tc-gray-90 : #37373C; $tc-gray-80 : #47474F; $tc-gray-70 : #5D5D66; -$tc-gray-65 : #6c7275; $tc-gray-60 : #6B6B6B; $tc-gray-50 : #888894; $tc-gray-40 : #A3A3AD; diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index cb367c2a..a4637dbb 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -14,7 +14,7 @@ button { margin-top: 0; &.disabled { - background-color: $tc-gray-65 !important; + background-color: $tc-gray-70 !important; color: $tc-white-cream; } } From 7df2afe6fa296a4d6bea4f5ac623a4e4ddea06e7 Mon Sep 17 00:00:00 2001 From: PrakashDurlabhji Date: Mon, 29 Jul 2019 23:48:38 +0530 Subject: [PATCH 69/91] Update account.scss --- app/styles/tc/account.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index b21bbab3..71b59590 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -195,7 +195,7 @@ text-transform: uppercase; a { display: inline; - color: #006dea !important; + color: #006ad7 !important; &:focus { outline: 3px auto $tc-dark-blue-90; From 6617c9d096dc6851b4a854869b7a23702fc7e5b0 Mon Sep 17 00:00:00 2001 From: prakashdurlabhji Date: Tue, 30 Jul 2019 00:45:42 +0530 Subject: [PATCH 70/91] issue 2775 fix --- .../directives/toggle-password-with-tips.directive.scss | 2 +- app/styles/tc/register.scss | 8 +++++++- app/views/tc/register.jade | 2 +- 3 files changed, 9 insertions(+), 3 deletions(-) diff --git a/app/styles/directives/toggle-password-with-tips.directive.scss b/app/styles/directives/toggle-password-with-tips.directive.scss index 9fd946cc..7a8f2923 100644 --- a/app/styles/directives/toggle-password-with-tips.directive.scss +++ b/app/styles/directives/toggle-password-with-tips.directive.scss @@ -21,7 +21,7 @@ toggle-password-with-tips { .input-btn .input:focus ~ .tc-btn { color: #FFFFFF; - background: #59A7FF; + background: $tc-dark-blue-90; } .input-btn .tc-btn, diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index a4637dbb..87de945e 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -14,9 +14,15 @@ button { margin-top: 0; &.disabled { - background-color: $tc-gray-70 !important; + background-color: $tc-gray-60 !important; color: $tc-white-cream; } + &.validCountry { + background-color: $tc-dark-blue-90; + &.disabled { + background-color: $tc-gray-60 !important; + } + } } @media (min-width: 768px) { diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 79599f0c..c3b8f71c 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -114,7 +114,7 @@ section.terms p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] - button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join + button.tc-btn.tc-btn-large.validCountry(ng-class="{ 'disabled': vm.registerForm.$invalid }", type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled") Join div(role="region" aria-label="Register With") From 8b0ac14c7f394613813b7273ea9fcfe47d8c420b Mon Sep 17 00:00:00 2001 From: prakashdurlabhji Date: Tue, 30 Jul 2019 01:31:01 +0530 Subject: [PATCH 71/91] issue 2868 patch --- app/styles/tc/register.scss | 9 ++++++--- 1 file changed, 6 insertions(+), 3 deletions(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 34a8f482..9ea5a6f0 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -1,4 +1,5 @@ @import 'topcoder/tc-includes'; +@import '../tc-ui-variables.scss'; .register-container { a { @@ -12,6 +13,10 @@ align-items: center; button { margin-top: 0; + + &:focus { + outline: 3px solid $tc-dark-blue-70; + } } @media (min-width: 768px) { @@ -56,9 +61,7 @@ max-width: 180px; } } - .tc-btn:focus { - outline: 2px solid $tc-dark-blue-70; - } + .login-options .networks .network .ico:focus { outline: 3px solid #77A1F8; } From 1875bfd0134534eff7da91eb5fda593483f2f4f8 Mon Sep 17 00:00:00 2001 From: Mihai Cucicea Date: Tue, 30 Jul 2019 00:34:27 +0300 Subject: [PATCH 72/91] remove unneeded css class. --- app/styles/tc/register.scss | 8 ++------ app/views/tc/register.jade | 2 +- 2 files changed, 3 insertions(+), 7 deletions(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 87de945e..f405123f 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -13,15 +13,11 @@ align-items: center; button { margin-top: 0; + background-color: $tc-dark-blue-90; &.disabled { background-color: $tc-gray-60 !important; color: $tc-white-cream; - } - &.validCountry { - background-color: $tc-dark-blue-90; - &.disabled { - background-color: $tc-gray-60 !important; - } + opacity: 1; } } diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index c3b8f71c..79599f0c 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -114,7 +114,7 @@ section.terms p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] - button.tc-btn.tc-btn-large.validCountry(ng-class="{ 'disabled': vm.registerForm.$invalid }", type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join + button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry") Join button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled") Join div(role="region" aria-label="Register With") From be04fcf54b33052f812448d8e95608b822a09b45 Mon Sep 17 00:00:00 2001 From: prakashdurlabhji Date: Tue, 30 Jul 2019 03:19:04 +0530 Subject: [PATCH 73/91] issue 2777 fix --- app/styles/tc/register.scss | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index a4637dbb..13636880 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -62,8 +62,14 @@ } } - .login-options .networks .network .ico:focus { - outline: 3px solid #77A1F8; + .login-options .networks .network { + + span { + color: #757585; + } + .ico:focus { + outline: 3px solid #77A1F8; + } } } From c71996215fd406c5d46b0d21de5c3d93e5ab90a7 Mon Sep 17 00:00:00 2001 From: rashmi73 Date: Tue, 30 Jul 2019 04:23:07 +0530 Subject: [PATCH 74/91] issue 3001 fix --- app/styles/tc/login.scss | 3 +++ app/views/tc/login.jade | 20 ++++++++++---------- app/views/tc/register.jade | 6 +++--- 3 files changed, 16 insertions(+), 13 deletions(-) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 44cf0c31..c7b76597 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -47,6 +47,9 @@ } } section.login-options { + a:focus { + outline: 3px auto $tc-dark-blue-90; + } @media (max-width: 767px) { margin-bottom: 41px; } diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index a2cc4ed2..c4c709ad 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -35,24 +35,24 @@ span Or Log in With ul.networks - li.network.github(tabIndex="0") - a.ico(ng-click="vm.socialLogin('github')", title="Login with GitHub") + li.network.github() + a.ico(ng-click="vm.socialLogin('github')", tabIndex="0", href="#", title="Login with GitHub") img(src=logoGithub, alt="Github Logo") span Github - li.network.google-plus(tabIndex="0") - a.ico(ng-click="vm.socialLogin('google-oauth2')", title="Login with Google") + li.network.google-plus() + a.ico(ng-click="vm.socialLogin('google-oauth2')", tabIndex="0", href="#", title="Login with Google") img(src=logoGooglePlus, alt="Google Logo") span Google - li.network.facebook(tabIndex="0") - a.ico(ng-click="vm.socialLogin('facebook')", title="Login with Facebook") + li.network.facebook() + a.ico(ng-click="vm.socialLogin('facebook')", tabIndex="0", href="#", title="Login with Facebook") img(src=logoFacebook, alt="Facebook Logo") span Facebook - li.network.twitter(tabIndex="0") - a.ico(ng-click="vm.socialLogin('twitter')", title="Login with Twitter") + li.network.twitter() + a.ico(ng-click="vm.socialLogin('twitter')", tabIndex="0", href="#", title="Login with Twitter") img(src=logoTwitter, alt="Twitter Logo") span Twitter - li.network.sso(tabIndex="0") - a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", title="Login with Single Sign On") + li.network.sso() + a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", tabIndex="0", href="#", title="Login with Single Sign On") img(src=logoSso, alt="Single Sign On Logo") span Single Sign On diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 79599f0c..42e7c748 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -124,15 +124,15 @@ ul.networks li.network.github - a.ico(ng-click="vm.socialRegister('github')", tabindex="0", title="Register with Github") + a.ico(ng-click="vm.socialRegister('github')", href="#", tabindex="0", title="Register with Github") img(src=logoGithub, alt="Github Logo") span Github li.network.google-plus - a.ico(ng-click="vm.socialRegister('google-oauth2')", tabindex="0", title="Register with Google") + a.ico(ng-click="vm.socialRegister('google-oauth2')", href="#", tabindex="0", title="Register with Google") img(src=logoGooglePlus, alt="Google Logo") span Google li.network.facebook - a.ico(ng-click="vm.socialRegister('facebook')", tabindex="0", title="Register with Facebook") + a.ico(ng-click="vm.socialRegister('facebook')", href="#", tabindex="0", title="Register with Facebook") img(src=logoFacebook, alt="Facebook Logo") span Facebook From e69e5142e3de406b454be7cf951d074d052070a2 Mon Sep 17 00:00:00 2001 From: rashmi73 Date: Tue, 30 Jul 2019 04:36:18 +0530 Subject: [PATCH 75/91] issue 2859 fix --- app/styles/tc/account.scss | 3 --- app/styles/tc/login.scss | 5 +++++ app/styles/tc/register.scss | 11 ++++++++--- 3 files changed, 13 insertions(+), 6 deletions(-) diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index c434c510..2d3d97f2 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -114,9 +114,6 @@ } .login-options { margin-bottom: 40px; - span { - text-decoration: underline; - } p { @include font-with-weight; color: $tc-gray-60; diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 44cf0c31..7b1839ee 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -47,6 +47,11 @@ } } section.login-options { + .network { + span { + text-decoration: underline; + } + } @media (max-width: 767px) { margin-bottom: 41px; } diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index a4637dbb..aca764f0 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -62,10 +62,15 @@ } } - .login-options .networks .network .ico:focus { - outline: 3px solid #77A1F8; + .login-options .networks .network { + span { + text-decoration: underline; + } + .ico:focus { + outline: 3px solid #77A1F8; + } } -} +} .join-topcoder { a { From db5d20281c2344746375443fe0e653d7b6e2a238 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?S=C3=A9rgio=20Monteiro?= Date: Tue, 30 Jul 2019 00:56:03 +0100 Subject: [PATCH 76/91] added aria-label and back to login highlighte --- app/styles/tc/reset-password.scss | 10 ++++++---- app/views/tc/login.jade | 2 +- app/views/tc/reset-password.jade | 2 +- 3 files changed, 8 insertions(+), 6 deletions(-) diff --git a/app/styles/tc/reset-password.scss b/app/styles/tc/reset-password.scss index f9924072..c3d5fa0d 100644 --- a/app/styles/tc/reset-password.scss +++ b/app/styles/tc/reset-password.scss @@ -1,4 +1,4 @@ -@import 'topcoder/tc-includes'; +@import "topcoder/tc-includes"; @import "../tc-ui-variables"; .reset-password-container { @@ -11,7 +11,7 @@ align-self: center; margin-top: 0px; - &[type='submit'] { + &[type="submit"] { margin-top: 20px; } } @@ -21,8 +21,10 @@ margin-bottom: 25px; margin-top: 25px; } - .link:focus { - outline: 2px solid $tc-dark-blue-90; + .link { + a:focus { + outline: 2px solid $tc-dark-blue-90; + } } .tc-btn:focus { diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index a2cc4ed2..1930ed31 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -26,7 +26,7 @@ toggle-password p.problem-signin - a.forgot-password(href="{{vm.forgotPasswordUrl}}") Forgot your password? + a.forgot-password(href="{{vm.forgotPasswordUrl}}", aria-label="forgot password") Forgot your password? button.tc-btn.tc-btn-wide(type="submit", ng-disabled="vm.loginForm.$invalid || vm.loading") Log In diff --git a/app/views/tc/reset-password.jade b/app/views/tc/reset-password.jade index 5d4ae0ab..15c1fbc1 100644 --- a/app/views/tc/reset-password.jade +++ b/app/views/tc/reset-password.jade @@ -39,7 +39,7 @@ button.tc-btn(type="submit", ng-disabled='vm.generateTokenForm.email.$invalid || vm.loading', ng-class="{'enabled-button': vm.generateTokenForm.$valid && !vm.loading}") Get Reset Link p.link - a(ui-sref="MEMBER_LOGIN") Back to Login + a(ui-sref="MEMBER_LOGIN", aria-label="back to login") Back to Login .reset-password-container(ng-show="vm.resetTokenSent") header From c975c6d83107bd89610a6f02338488e95610276d Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Tue, 30 Jul 2019 15:09:17 +0700 Subject: [PATCH 77/91] Chrome tooltip problems. --- .../directives/toggle-password-directive-tips.js | 8 ++++++-- app/scripts/tc/register.controller.js | 16 ++++++++++++++-- app/views/tc/register.jade | 10 +++++----- 3 files changed, 25 insertions(+), 9 deletions(-) diff --git a/app/scripts/directives/toggle-password-directive-tips.js b/app/scripts/directives/toggle-password-directive-tips.js index 03eaadfc..21938c49 100644 --- a/app/scripts/directives/toggle-password-directive-tips.js +++ b/app/scripts/directives/toggle-password-directive-tips.js @@ -5,7 +5,9 @@ import angular from 'angular' angular.module('accounts.directives').directive('togglePasswordWithTips', togglePasswordWithTips) - function togglePasswordWithTips() { + togglePasswordWithTips.$inject = ['$timeout'] + + function togglePasswordWithTips($timeout) { return { restrict: 'E', require: '^form', @@ -46,7 +48,9 @@ import angular from 'angular' passwordInput.focus() } else { // If you are blurring from the password input and clicking anywhere but the checkbox - vm.passwordFocus = false + $timeout(function () { + vm.passwordFocus = false + }, 100) if (vm.password === '' || vm.password === undefined) { vm.placeholder = vm.defaultPlaceholder diff --git a/app/scripts/tc/register.controller.js b/app/scripts/tc/register.controller.js index 2bb46ff8..e94f3be9 100644 --- a/app/scripts/tc/register.controller.js +++ b/app/scripts/tc/register.controller.js @@ -14,9 +14,9 @@ import { getNewJWT } from '../../../core/auth.js' angular.module('accounts').controller('TCRegistrationController', TCRegistrationController) - TCRegistrationController.$inject = ['$log', '$scope', '$state', '$stateParams', 'UserService', 'ISO3166'] + TCRegistrationController.$inject = ['$log', '$scope', '$state', '$stateParams', 'UserService', 'ISO3166', '$timeout'] - function TCRegistrationController($log, $scope, $state, $stateParams, UserService, ISO3166) { + function TCRegistrationController($log, $scope, $state, $stateParams, UserService, ISO3166, $timeout) { var vm = this vm.registering = false // auth0 login data, passed from another states as state param @@ -58,6 +58,18 @@ import { getNewJWT } from '../../../core/auth.js' vm.ssoForced = !!(identifySSOProvider(email)) }) + $scope.usernameFocusLoss = function () { + $timeout(function () { + vm.usernameTips = false + }, 100); + } + + $scope.emailFocusLoss = function () { + $timeout(function () { + vm.emailTips = false + }, 100); + } + vm.updateCountry = function (angucompleteCountryObj) { var countryCode = _.get(angucompleteCountryObj, 'originalObject.code', undefined) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 04976f0c..0489fd76 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -49,9 +49,9 @@ .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") - input(aria-describedby="tp-help-username", aria-required="false", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="vm.usernameTips = false", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) + input(aria-describedby="tp-help-username", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="usernameFocusLoss()", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) - .tips.username-tips(id="tp-help-username", ng-show="vm.usernameTips") + .tips.username-tips(id="tp-help-username", role="tooltip", ng-show="vm.usernameTips") .arrow h2 Username Tips: @@ -71,9 +71,9 @@ .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") - input(aria-describedby="tp-help-email", aria-required="false", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="vm.emailTips = false", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") + input(aria-describedby="tp-help-email", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="emailFocusLoss()", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") - .tips.email-tips(id="tp-help-email", ng-show="vm.emailTips") + .tips.email-tips(id="tp-help-email", role="tooltip", ng-show="vm.emailTips") .arrow h2 Email Tips: @@ -99,7 +99,7 @@ .validation-bar toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") - .tips.password-tips(id="tp-help-password", ng-show="vm.passwordFocus && !vm.ssoForced") + .tips.password-tips(id="tp-help-password", role="tooltip", ng-show="vm.passwordFocus && !vm.ssoForced") .arrow //- h3 Password Tips: From 58f4a94d28c5a2b42257fbf3bf5eb54d93ea46b6 Mon Sep 17 00:00:00 2001 From: Mihai Cucicea Date: Tue, 30 Jul 2019 11:13:49 +0300 Subject: [PATCH 78/91] added missing bracket. --- app/styles/tc/login.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index e5421c6a..09bbfb36 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -54,6 +54,7 @@ text-decoration: underline; } } + } @media (max-width: 767px) { margin-bottom: 41px; } From 83c4148487531ea278f71cfd0dbc0d9df858d776 Mon Sep 17 00:00:00 2001 From: Afrisal Yodi Purnama Date: Wed, 31 Jul 2019 12:09:49 +0700 Subject: [PATCH 79/91] Registration form aria-label --- app/views/tc/register.jade | 5 ++--- 1 file changed, 2 insertions(+), 3 deletions(-) diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 79599f0c..c52ddfdc 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -9,10 +9,9 @@ img(src=logoMobile, alt="Topcoder Logo") .arrow //- h1 Join the Topcoder technology community to earn, learn, and connect - div(role="region", aria-label="Registration Form", style="display: flex;flex-direction: column;") - h1 Join Topcoder + h1 Join Topcoder - form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off") + form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off" aria-label="Registration") label(for="registration") Registration form // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) input(autocomplete="false", name="hidden", type="text", style="display:none;") From 4967f123de1008dce0e5e8fe00b4be371f8c3941 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 2 Aug 2019 17:08:49 +0530 Subject: [PATCH 80/91] changes for MSFT-240 --- app/views/directives/toggle-password.directive.jade | 4 +++- app/views/tc/login.jade | 2 +- package.json | 2 +- 3 files changed, 5 insertions(+), 3 deletions(-) diff --git a/app/views/directives/toggle-password.directive.jade b/app/views/directives/toggle-password.directive.jade index 6a9e6240..a7db0339 100644 --- a/app/views/directives/toggle-password.directive.jade +++ b/app/views/directives/toggle-password.directive.jade @@ -9,8 +9,10 @@ name="currentPassword", type="password", placeholder="{{currentPasswordPlaceholder}}", - class="input input-btn" + class="input input-btn", + aria-label="password", + aria-invalid="false", required) \ No newline at end of file diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index 7041de70..a60c71ee 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -21,7 +21,7 @@ p.form-error(ng-message="SOCIAL_LOGIN_ERROR" role="alert") User with that profile is not registered. div.validation-bar(ng-class="{'error-bar': vm.loginErrors.USERNAME_NONEXISTANT}") - input(ng-model="vm.username", name="username", placeholder="Username or Email", type="text", required) + input(ng-model="vm.username", placeholder="Username or Email", type="text", required, aria-invalid="false") toggle-password diff --git a/package.json b/package.json index 71dc5230..776e28d6 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "webpack -p --bail --progress --build", "build:dev": "webpack --bail --progress", - "dev": "webpack-dev-server --history-api-fallback --dev --inline --progress --port 3100 --public local.topcoder-dev.com", + "dev": "webpack-dev-server --history-api-fallback --dev --inline --progress --port 3100 --public local.topcoder-dev.com --host 192.168.1.5", "prod": "webpack-dev-server --history-api-fallback --prod --inline --progress --port 3000", "build-connector": "webpack --bail --progress -p --build --config webpack.config.connector.js", "build-connector:dev": "webpack --bail --progress --config webpack.config.connector.js" From 46b00718866e5973e456a686b58c29c9a17d496d Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Fri, 2 Aug 2019 17:12:06 +0530 Subject: [PATCH 81/91] revert change --- package.json | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/package.json b/package.json index 776e28d6..71dc5230 100644 --- a/package.json +++ b/package.json @@ -6,7 +6,7 @@ "scripts": { "build": "webpack -p --bail --progress --build", "build:dev": "webpack --bail --progress", - "dev": "webpack-dev-server --history-api-fallback --dev --inline --progress --port 3100 --public local.topcoder-dev.com --host 192.168.1.5", + "dev": "webpack-dev-server --history-api-fallback --dev --inline --progress --port 3100 --public local.topcoder-dev.com", "prod": "webpack-dev-server --history-api-fallback --prod --inline --progress --port 3000", "build-connector": "webpack --bail --progress -p --build --config webpack.config.connector.js", "build-connector:dev": "webpack --bail --progress --config webpack.config.connector.js" From e2d76b0612249798d189f2dfc859a6eda584a3f9 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Tue, 6 Aug 2019 16:12:23 +0530 Subject: [PATCH 82/91] changes for MSFT-59 --- app/styles/tc/register.scss | 4 ++-- app/views/tc/register.jade | 3 +-- 2 files changed, 3 insertions(+), 4 deletions(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 89cb0bcd..5296b995 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -17,9 +17,9 @@ &:focus { outline: 3px solid $tc-dark-blue-70; } - &.disabled { + &:disabled { background-color: $tc-gray-60 !important; - color: $tc-white-cream; + color: $tc-white; opacity: 1; } } diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 96bdc771..39d132e4 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -113,8 +113,7 @@ section.terms p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] - button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid", ng-show="vm.isValidCountry", tabIndex="0") Join - button.tc-btn.tc-btn-large.disabled(type="submit", ng-show="!vm.isValidCountry", disabled="disabled", tabIndex="0") Join + button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid || vm.registerForm.$pending", tabIndex="0") Join div(role="region" aria-label="Register With") section.login-options(ng-if="!vm.ssoUser") From 1378c999364cb8c62fca04c13334d40577132fb6 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Tue, 6 Aug 2019 16:22:27 +0530 Subject: [PATCH 83/91] highlight links --- app/styles/tc/register.scss | 3 +++ 1 file changed, 3 insertions(+) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 5296b995..53f911b3 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -4,6 +4,9 @@ .register-container { a { text-decoration: underline; + &:focus { + outline: 2px solid $tc-dark-blue-70; + } } form { From 35adc802bdb3f11b61cba5797d1537cf97c77c57 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Tue, 6 Aug 2019 17:03:28 +0530 Subject: [PATCH 84/91] update highlight color --- app/styles/tc/register.scss | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index 53f911b3..ad339fda 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -18,7 +18,7 @@ margin-top: 0; background-color: $tc-dark-blue-90; &:focus { - outline: 3px solid $tc-dark-blue-70; + outline: 3px solid $tc-dark-blue-90; } &:disabled { background-color: $tc-gray-60 !important; From d7699df18f516a1b198abf93ba83f66611cde7ec Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Wed, 7 Aug 2019 00:03:28 +0530 Subject: [PATCH 85/91] changes for MSFT-268 --- app/index.jade | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/app/index.jade b/app/index.jade index be457194..ea102ef4 100644 --- a/app/index.jade +++ b/app/index.jade @@ -17,8 +17,8 @@ html(ng-app='accounts', xmlns='http://www.w3.org/1999/xhtml', lang='en', xml:lan ui-view.view-container div(ui-view="footer", ng-controller="FooterController as vm", ng-hide="hideCommonFooter", role="region" aria-label="Footer") - footer.account-footer(tabindex="-1", onkeydown="return false;") + .account-footer a.privacy-policy(ng-href="https://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") | Privacy Policy - p.copyright-notice(ng-bind-html="vm.copyrightNotice", tabindex="-1", onkeydown="return false;") + p.copyright-notice(ng-bind-html="vm.copyrightNotice") include ./views/segment.io.jade From ae03bb8061f4df6532f7646ade0bb60b0e957fa2 Mon Sep 17 00:00:00 2001 From: nkumar-topcoder <33625707+nkumar-topcoder@users.noreply.github.com> Date: Thu, 8 Aug 2019 15:16:02 +0530 Subject: [PATCH 86/91] Update config.yml --- .circleci/config.yml | 163 ++++++++++++++++++++++--------------------- 1 file changed, 84 insertions(+), 79 deletions(-) diff --git a/.circleci/config.yml b/.circleci/config.yml index 539f221b..40ff9c96 100644 --- a/.circleci/config.yml +++ b/.circleci/config.yml @@ -1,100 +1,105 @@ version: 2 -jobs: - "build-dev": +defaults: &defaults docker: - - image: node:5.10.1 - steps: - - run: - name: Installation of build dependencies. + - image: node:5.10.1 +install_dependency: &install_dependency + name: Installation of build and deployment dependencies. + command: | + set +e + apt-get update -y + apt-get install g++-4.8 -y + apt install awscli -y + apt install jq -y + chmod 777 /etc/mime.types + sed -i 's/^application\/x-font-woff.*/application\/font-woff\t\t\t\twoff/' /etc/mime.types + sed -i 's/^image\/vnd.microsoft.icon.*/image\/vnd.microsoft.icon/' /etc/mime.types + sed -i 's/^image\/x-icon.*/image\/x-icon\t\t\t\tico/' /etc/mime.types +install_deploysuite: &install_deploysuite + name: Installation of install_deploysuite. + command: | + git clone --branch v1.4 https://github.com/topcoder-platform/tc-deploy-scripts ../buildscript + cp ./../buildscript/master_deploy.sh . + cp ./../buildscript/buildenv.sh . + cp ./../buildscript/awsconfiguration.sh . +restore_cache_settings_for_build: &restore_cache_settings_for_build + key: ac-node-modules-{{ checksum "package.json" }} +save_cache_settings: &save_cache_settings + key: ac-node-modules-{{ checksum "package.json" }} + paths: + - node_modules +running_npm_build: &running_npm_build + name: Running Npm Build command: | - set +e - apt-get update -y - apt-get install g++-4.8 -y - apt install awscli -y - chmod 777 /etc/mime.types - sed -i 's/^application\/x-font-woff.*/application\/font-woff\t\t\t\twoff/' /etc/mime.types - sed -i 's/^image\/vnd.microsoft.icon.*/image\/vnd.microsoft.icon/' /etc/mime.types - sed -i 's/^image\/x-icon.*/image\/x-icon\t\t\t\tico/' /etc/mime.types + source buildenvvar + npm rebuild node-sass + npm run build + npm run build-connector + npm test + +builddeploy_steps: &builddeploy_steps - checkout - - restore_cache: - key: ac-node-modules-{{ checksum "package.json" }} + - setup_remote_docker + - run: *install_dependency + - run: *install_deploysuite + - restore_cache: *restore_cache_settings_for_build - run: npm install - - save_cache: - key: ac-node-modules-{{ checksum "package.json" }} - paths: - - node_modules - - run: npm rebuild node-sass - - run: npm run build - - run: npm run build-connector - - run: npm test - - run: ./deploy.sh DEV - "build-qa": - docker: - - image: node:5.10.1 - steps: - - run: - name: Installation of build dependencies. + - save_cache: *save_cache_settings + - run: + name: "configuring environment" command: | - apt-get update -y - apt-get install g++-4.8 -y - apt install awscli -y - chmod 777 /etc/mime.types - sed -i 's/^application\/x-font-woff.*/application\/font-woff\t\t\t\twoff/' /etc/mime.types - sed -i 's/^image\/vnd.microsoft.icon.*/image\/vnd.microsoft.icon/' /etc/mime.types - sed -i 's/^image\/x-icon.*/image\/x-icon\t\t\t\tico/' /etc/mime.types - - checkout - - restore_cache: - key: ac-node-modules-{{ checksum "package.json" }} - - run: npm install - - save_cache: - key: ac-node-modules-{{ checksum "package.json" }} - paths: - - node_modules - - run: npm run build - - run: npm run build-connector - - run: npm test - - run: ./deploy.sh QA - "build-prod": - docker: - - image: node:5.10.1 - steps: - - run: - name: Installation of build dependencies. + ./awsconfiguration.sh $DEPLOY_ENV + ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-buildvar + - run: *running_npm_build + - deploy: + name: Running MasterScript. command: | - set +e - apt-get update -y - apt-get install g++-4.8 -y - apt install awscli -y - chmod 777 /etc/mime.types - sed -i 's/^application\/x-font-woff.*/application\/font-woff\t\t\t\twoff/' /etc/mime.types - sed -i 's/^image\/vnd.microsoft.icon.*/image\/vnd.microsoft.icon/' /etc/mime.types - sed -i 's/^image\/x-icon.*/image\/x-icon\t\t\t\tico/' /etc/mime.types - - checkout - - restore_cache: - key: ac-node-modules-{{ checksum "package.json" }} - - run: npm install - - save_cache: - key: ac-node-modules-{{ checksum "package.json" }} - paths: - - node_modules - - run: npm rebuild node-sass - - run: npm run build - - run: npm run build-connector - - run: npm test - - run: ./deploy.sh PROD + # ./deploy.sh $DEPLOY_ENV + # ./awsconfiguration.sh $DEPLOY_ENV + source awsenvconf + ./buildenv.sh -e $DEPLOY_ENV -b ${LOGICAL_ENV}-${APPNAME}-deployvar + source buildenvvar + ./master_deploy.sh -d CFRONT -e $DEPLOY_ENV -c true + +jobs: + # Build & Deploy against development backend + "build-dev": + <<: *defaults + environment: + DEPLOY_ENV: "DEV" + LOGICAL_ENV: "dev" + APPNAME: "accounts-app" + steps: *builddeploy_steps + "build-qa": + <<: *defaults + environment: + DEPLOY_ENV: "QA" + LOGICAL_ENV: "qa" + APPNAME: "accounts-app" + steps: *builddeploy_steps + "build-prod": + <<: *defaults + environment: + DEPLOY_ENV: "PROD" + LOGICAL_ENV: "prod" + APPNAME: "accounts-app" + steps: *builddeploy_steps + workflows: version: 2 build: jobs: - build-dev: + context : org-global filters: branches: - only: [ dev, dev-circleci2, qa-accessibility ] + only: [ dev, qa-accessibility ] - build-qa: + context : org-global filters: branches: only: qa - build-prod: + context : org-global filters: branches: - only: master + only: master From 56d62c2b17ee2519ebfd9b32a4a95eae68c99b82 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Wed, 21 Aug 2019 23:13:00 +0530 Subject: [PATCH 87/91] change color --- app/styles/tc/register.scss | 1 + 1 file changed, 1 insertion(+) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index ad339fda..305dae02 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -3,6 +3,7 @@ .register-container { a { + color: $tc-dark-blue-90; text-decoration: underline; &:focus { outline: 2px solid $tc-dark-blue-70; From 5ad9ba3774a46e65030ad521bccbc27ce4a860e3 Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Thu, 22 Aug 2019 13:29:18 +0530 Subject: [PATCH 88/91] add labels --- .../directives/toggle-password.directive.scss | 9 +-------- app/styles/tc/login.scss | 13 +++++++++++++ app/views/directives/toggle-password.directive.jade | 1 + app/views/tc/login.jade | 3 ++- 4 files changed, 17 insertions(+), 9 deletions(-) diff --git a/app/styles/directives/toggle-password.directive.scss b/app/styles/directives/toggle-password.directive.scss index 007e87dc..3c2f7ff1 100644 --- a/app/styles/directives/toggle-password.directive.scss +++ b/app/styles/directives/toggle-password.directive.scss @@ -30,7 +30,7 @@ toggle-password { .input-btn .tc-btn:active { position: absolute; right: 1px; - top: 1px; + top: 21px; background: $tc-white; border: 0; border-left: 1px solid $tc-gray-30; @@ -46,11 +46,4 @@ toggle-password { margin-top: 0px; } - label { - display: flex !important; - line-height: 20px !important; - position: absolute; - top: 10px; - right: 0px; - } } diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 09bbfb36..f316a99d 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -2,6 +2,19 @@ @import "../tc-ui-variables"; .login-container { + label { + @include font-with-weight('Sofia Pro', 500); + margin: 5px 0; + display: block; + margin-bottom: 5px; + text-align: left; + color: $tc-gray-80; + font-size: 10px; + line-height: 10px; + height: initial; + text-align: left; + } + form { display: flex; flex-flow: column wrap; diff --git a/app/views/directives/toggle-password.directive.jade b/app/views/directives/toggle-password.directive.jade index a7db0339..8991c6c9 100644 --- a/app/views/directives/toggle-password.directive.jade +++ b/app/views/directives/toggle-password.directive.jade @@ -1,4 +1,5 @@ .input-btn + label(for="current-password-input") PASSWORD input#current-password-input( ng-model="vm.currentPassword", ng-model-options="{allowInvalid: true}", diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index a60c71ee..1715d7b7 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -21,7 +21,8 @@ p.form-error(ng-message="SOCIAL_LOGIN_ERROR" role="alert") User with that profile is not registered. div.validation-bar(ng-class="{'error-bar': vm.loginErrors.USERNAME_NONEXISTANT}") - input(ng-model="vm.username", placeholder="Username or Email", type="text", required, aria-invalid="false") + label(for="username") USERNAME OR EMAIL + input(ng-model="vm.username", id="username", placeholder="Username or Email", type="text", required, aria-invalid="false") toggle-password From ee50e5c6afb5760500ce92bd403decd46c553d5c Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Thu, 22 Aug 2019 14:02:15 +0530 Subject: [PATCH 89/91] add landmarks --- app/index.jade | 2 +- app/styles/tc/account.scss | 1 + app/views/tc/login.jade | 99 ++++++++++++------------- app/views/tc/register.jade | 147 +++++++++++++++++++------------------ 4 files changed, 126 insertions(+), 123 deletions(-) diff --git a/app/index.jade b/app/index.jade index ea102ef4..13b210e3 100644 --- a/app/index.jade +++ b/app/index.jade @@ -16,7 +16,7 @@ html(ng-app='accounts', xmlns='http://www.w3.org/1999/xhtml', lang='en', xml:lan .img ui-view.view-container - div(ui-view="footer", ng-controller="FooterController as vm", ng-hide="hideCommonFooter", role="region" aria-label="Footer") + div(ui-view="footer", ng-controller="FooterController as vm", ng-hide="hideCommonFooter", role="contentinfo" aria-label="Footer") .account-footer a.privacy-policy(ng-href="https://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") | Privacy Policy diff --git a/app/styles/tc/account.scss b/app/styles/tc/account.scss index 8682c128..a78d8ada 100644 --- a/app/styles/tc/account.scss +++ b/app/styles/tc/account.scss @@ -42,6 +42,7 @@ width: 380px; font-size: 20px; line-height: 30px; + margin: 0 auto; margin-bottom: 40px; margin-top: 39px; text-transform: uppercase; diff --git a/app/views/tc/login.jade b/app/views/tc/login.jade index a60c71ee..f3c6a2e4 100644 --- a/app/views/tc/login.jade +++ b/app/views/tc/login.jade @@ -6,55 +6,56 @@ - var logoSso = require("../../images/tc/sso.svg") .login-container - header + header(role="banner") a.logo-link(href="/", title="Back to the home page") img(src=logoMobile, alt="Topcoder Logo") - - h1 LOG IN TO TOPCODER - - form(name="vm.loginForm", role="form", ng-submit="vm.loginForm.$valid && vm.login()", novalidate) - .form-errors(ng-messages="vm.loginErrors") - p.form-error(ng-message="USERNAME_NONEXISTANT" role="alert") We couldn't find a member with that {{vm.emailOrUsername || "username"}}. Please check that you entered it correctly. - - p.form-error(ng-message="WRONG_PASSWORD" role="alert") That password is incorrect. Please check that you entered the right one. - - p.form-error(ng-message="SOCIAL_LOGIN_ERROR" role="alert") User with that profile is not registered. - - div.validation-bar(ng-class="{'error-bar': vm.loginErrors.USERNAME_NONEXISTANT}") - input(ng-model="vm.username", placeholder="Username or Email", type="text", required, aria-invalid="false") - - toggle-password - - p.problem-signin - a.forgot-password(href="{{vm.forgotPasswordUrl}}", aria-label="forgot password") Forgot your password? - - button.tc-btn.tc-btn-wide(type="submit", ng-disabled="vm.loginForm.$invalid || vm.loading") Log In - - section.login-options - p.tc-separator - span Or Log in With - - ul.networks - li.network.github() - a.ico(ng-click="vm.socialLogin('github')", tabIndex="0", href="#", title="Login with GitHub") - img(src=logoGithub, alt="Github Logo") - span Github - li.network.google-plus() - a.ico(ng-click="vm.socialLogin('google-oauth2')", tabIndex="0", href="#", title="Login with Google") - img(src=logoGooglePlus, alt="Google Logo") - span Google - li.network.facebook() - a.ico(ng-click="vm.socialLogin('facebook')", tabIndex="0", href="#", title="Login with Facebook") - img(src=logoFacebook, alt="Facebook Logo") - span Facebook - li.network.twitter() - a.ico(ng-click="vm.socialLogin('twitter')", tabIndex="0", href="#", title="Login with Twitter") - img(src=logoTwitter, alt="Twitter Logo") - span Twitter - li.network.sso() - a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", tabIndex="0", href="#", title="Login with Single Sign On") - img(src=logoSso, alt="Single Sign On Logo") - span Single Sign On - -p.join-topcoder Not a member yet?   + + main + h1 LOG IN TO TOPCODER + + form(name="vm.loginForm", role="form", ng-submit="vm.loginForm.$valid && vm.login()", novalidate) + .form-errors(ng-messages="vm.loginErrors") + p.form-error(ng-message="USERNAME_NONEXISTANT" role="alert") We couldn't find a member with that {{vm.emailOrUsername || "username"}}. Please check that you entered it correctly. + + p.form-error(ng-message="WRONG_PASSWORD" role="alert") That password is incorrect. Please check that you entered the right one. + + p.form-error(ng-message="SOCIAL_LOGIN_ERROR" role="alert") User with that profile is not registered. + + div.validation-bar(ng-class="{'error-bar': vm.loginErrors.USERNAME_NONEXISTANT}") + input(ng-model="vm.username", placeholder="Username or Email", type="text", required, aria-invalid="false") + + toggle-password + + p.problem-signin + a.forgot-password(href="{{vm.forgotPasswordUrl}}", aria-label="forgot password") Forgot your password? + + button.tc-btn.tc-btn-wide(type="submit", ng-disabled="vm.loginForm.$invalid || vm.loading") Log In + + section.login-options + p.tc-separator + span Or Log in With + + ul.networks + li.network.github() + a.ico(ng-click="vm.socialLogin('github')", tabIndex="0", href="#", title="Login with GitHub") + img(src=logoGithub, alt="Github Logo") + span Github + li.network.google-plus() + a.ico(ng-click="vm.socialLogin('google-oauth2')", tabIndex="0", href="#", title="Login with Google") + img(src=logoGooglePlus, alt="Google Logo") + span Google + li.network.facebook() + a.ico(ng-click="vm.socialLogin('facebook')", tabIndex="0", href="#", title="Login with Facebook") + img(src=logoFacebook, alt="Facebook Logo") + span Facebook + li.network.twitter() + a.ico(ng-click="vm.socialLogin('twitter')", tabIndex="0", href="#", title="Login with Twitter") + img(src=logoTwitter, alt="Twitter Logo") + span Twitter + li.network.sso() + a.ico(ui-sref="SSO_LOGIN({app:'member',retUrl:vm.$stateParams.retUrl})", tabIndex="0", href="#", title="Login with Single Sign On") + img(src=logoSso, alt="Single Sign On Logo") + span Single Sign On + +p.join-topcoder(role="region") Not a member yet?   a(href="{{vm.registrationUrl}}") Join Now diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 39d132e4..d526ef15 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -4,116 +4,117 @@ - var logoFacebook = require("../../images/tc/facebook.svg") .register-container - header + header(role="banner") a.logo-link(href="/") img(src=logoMobile, alt="Topcoder Logo") .arrow //- h1 Join the Topcoder technology community to earn, learn, and connect - h1 Join Topcoder + main + h1 Join Topcoder - form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off" aria-label="Registration") - label(for="registration") Registration form - // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) - input(autocomplete="false", name="hidden", type="text", style="display:none;") + form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off" aria-label="Registration") + label(for="registration") Registration form + // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) + input(autocomplete="false", name="hidden", type="text", style="display:none;") - p.form-error(ng-show="vm.errMsg" role="alert") {{vm.errMsg}} + p.form-error(ng-show="vm.errMsg" role="alert") {{vm.errMsg}} - .first-last-names - input-sticky-placeholder(sticky-placeholder="First", ng-model="vm.firstname") - input(ng-model="vm.firstname", maxlength="64", name="firstname", placeholder="First Name", type="text", required) + .first-last-names + input-sticky-placeholder(sticky-placeholder="First", ng-model="vm.firstname") + input(ng-model="vm.firstname", maxlength="64", name="firstname", placeholder="First Name", type="text", required) - input-sticky-placeholder(sticky-placeholder="Last", ng-model="vm.lastname") - input(ng-model="vm.lastname", maxlength="64", name="lastname", placeholder="Last Name", type="text", required) + input-sticky-placeholder(sticky-placeholder="Last", ng-model="vm.lastname") + input(ng-model="vm.lastname", maxlength="64", name="lastname", placeholder="Last Name", type="text", required) - .country-dropdown - angucomplete-alt( - input-name="country", - placeholder="Country", - pause="100", - selected-object="vm.updateCountry", - local-data="vm.countries", - initial-value="vm.countryObj", - search-fields="name", - title-field="name", - match-class="angucomplete-highlight", - field-tabindex="0" - minlength="1" - ) + .country-dropdown + angucomplete-alt( + input-name="country", + placeholder="Country", + pause="100", + selected-object="vm.updateCountry", + local-data="vm.countries", + initial-value="vm.countryObj", + search-fields="name", + title-field="name", + match-class="angucomplete-highlight", + field-tabindex="0" + minlength="1" + ) - .form-input-error(ng-show="vm.registerForm.country.$dirty && !vm.isValidCountry") - p.form-error(ng-show="!vm.isValidCountry" role="alert") Please choose a country from the list + .form-input-error(ng-show="vm.registerForm.country.$dirty && !vm.isValidCountry") + p.form-error(ng-show="!vm.isValidCountry" role="alert") Please choose a country from the list - .section-break - hr + .section-break + hr - .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") - input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") - input(aria-describedby="tp-help-username", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="usernameFocusLoss()", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) + .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") + input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") + input(aria-describedby="tp-help-username", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="usernameFocusLoss()", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) - .tips.username-tips(id="tp-help-username", role="tooltip", ng-show="vm.usernameTips") - .arrow - h2 Username Tips: + .tips.username-tips(id="tp-help-username", role="tooltip", ng-show="vm.usernameTips") + .arrow + h2 Username Tips: - p Your username will be public + p Your username will be public - p Please choose one that is between 2 and 15 characters + p Please choose one that is between 2 and 15 characters - p It can contain letters, numbers, and these characters: -_.{}[] + p It can contain letters, numbers, and these characters: -_.{}[] - .form-input-error(ng-if="vm.registerForm.username.$dirty && vm.registerForm.username.$invalid", ng-messages="vm.registerForm.username.$error") - p.form-error(ng-message="required" role="alert") Please enter a username. - p.form-error(ng-message="usernameIsFree" role="alert") {{vm.usernameErrorMessage}} + .form-input-error(ng-if="vm.registerForm.username.$dirty && vm.registerForm.username.$invalid", ng-messages="vm.registerForm.username.$error") + p.form-error(ng-message="required" role="alert") Please enter a username. + p.form-error(ng-message="usernameIsFree" role="alert") {{vm.usernameErrorMessage}} - p.form-error(ng-message="minlength" role="alert") That username is not the correct length or format. + p.form-error(ng-message="minlength" role="alert") That username is not the correct length or format. - p.form-error(ng-message="maxlength" role="alert") That username is not the correct length or format. + p.form-error(ng-message="maxlength" role="alert") That username is not the correct length or format. - .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") - input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") - input(aria-describedby="tp-help-email", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="emailFocusLoss()", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") + .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") + input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") + input(aria-describedby="tp-help-email", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="emailFocusLoss()", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") - .tips.email-tips(id="tp-help-email", role="tooltip", ng-show="vm.emailTips") - .arrow - h2 Email Tips: + .tips.email-tips(id="tp-help-email", role="tooltip", ng-show="vm.emailTips") + .arrow + h2 Email Tips: - p Your email address will be private and not shared with anyone. + p Your email address will be private and not shared with anyone. - p We'll occasionally send you emails related to your activities or interests. + p We'll occasionally send you emails related to your activities or interests. - .tips.email-tips(ng-show="vm.ssoForced") - .arrow - h2 Note: + .tips.email-tips(ng-show="vm.ssoForced") + .arrow + h2 Note: - p Your email address will be linked with your Organization account. + p Your email address will be linked with your Organization account. - p Please use Single Sign On when you log in to Topcoder. + p Please use Single Sign On when you log in to Topcoder. - .form-input-error(ng-show="vm.registerForm.email.$dirty && vm.registerForm.email.$invalid", ng-messages="vm.registerForm.email.$error") - p.form-error(ng-message="emailIsAvailable" role="alert") {{vm.emailErrorMessage}} + .form-input-error(ng-show="vm.registerForm.email.$dirty && vm.registerForm.email.$invalid", ng-messages="vm.registerForm.email.$error") + p.form-error(ng-message="emailIsAvailable" role="alert") {{vm.emailErrorMessage}} - p.form-error(ng-message="validEmail" role="alert") {{vm.emailErrorMessage}} + p.form-error(ng-message="validEmail" role="alert") {{vm.emailErrorMessage}} - p.form-error(ng-message="required" role="alert") Please enter an email address. + p.form-error(ng-message="required" role="alert") Please enter an email address. - .validation-bar - toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") + .validation-bar + toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") - .tips.password-tips(id="tp-help-password", role="tooltip", ng-show="vm.passwordFocus && !vm.ssoForced") - .arrow - //- h3 Password Tips: + .tips.password-tips(id="tp-help-password", role="tooltip", ng-show="vm.passwordFocus && !vm.ssoForced") + .arrow + //- h3 Password Tips: - H2 Your password must have: + H2 Your password must have: - p(ng-class="{ 'has-length-between-range': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.minlength && !vm.registerForm.password.$error.maxlength && !vm.registerForm.password.$error.required) }") At least 8 characters + p(ng-class="{ 'has-length-between-range': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.minlength && !vm.registerForm.password.$error.maxlength && !vm.registerForm.password.$error.required) }") At least 8 characters - p(ng-class="{ 'has-letter': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasLetter) }") At least one letter + p(ng-class="{ 'has-letter': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasLetter) }") At least one letter - p(ng-class="{ 'has-symbol-or-number': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasSymbolOrNumber) }") At least one number or symbol + p(ng-class="{ 'has-symbol-or-number': (vm.registerForm.password.$dirty && !vm.registerForm.password.$error.hasSymbolOrNumber) }") At least one number or symbol - section.terms - p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] + section.terms + p By clicking "Join" you agree to Topcoder's #[a(href="http://www.topcoder.com/community/how-it-works/terms/", target="_blank") Terms] and #[a(href="http://www.topcoder.com/community/how-it-works/privacy-policy/", target="_blank") Privacy Policy] - button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid || vm.registerForm.$pending", tabIndex="0") Join + button.tc-btn.tc-btn-large(type="submit", tc-busy-button, tc-busy-when="vm.registering", ng-disabled="vm.registerForm.$invalid || vm.registerForm.$pending", tabIndex="0") Join div(role="region" aria-label="Register With") section.login-options(ng-if="!vm.ssoUser") From d4d11b17e3ad875d23f270cc8749aaaf584db36b Mon Sep 17 00:00:00 2001 From: r0hit-gupta Date: Thu, 22 Aug 2019 14:35:53 +0530 Subject: [PATCH 90/91] add labels --- app/styles/tc/register.scss | 16 +++++++++++++++- app/views/tc/register.jade | 18 ++++++++++++------ 2 files changed, 27 insertions(+), 7 deletions(-) diff --git a/app/styles/tc/register.scss b/app/styles/tc/register.scss index ad339fda..c2a489ef 100644 --- a/app/styles/tc/register.scss +++ b/app/styles/tc/register.scss @@ -2,6 +2,20 @@ @import '../tc-ui-variables.scss'; .register-container { + label { + @include font-with-weight('Sofia Pro', 500); + margin: 5px 0; + display: block; + margin-bottom: 5px; + text-align: left; + color: $tc-gray-80; + text-transform: uppercase; + font-size: 10px; + line-height: 10px; + height: initial; + text-align: left; + } + a { text-decoration: underline; &:focus { @@ -65,7 +79,7 @@ hr { border: none; border-bottom: 1px solid $gray-light; - margin: 10px auto 20px; + margin: 10px auto; max-width: 180px; } } diff --git a/app/views/tc/register.jade b/app/views/tc/register.jade index 39d132e4..a289d225 100644 --- a/app/views/tc/register.jade +++ b/app/views/tc/register.jade @@ -12,7 +12,7 @@ h1 Join Topcoder form(name="vm.registerForm", role="form", ng-submit="vm.registerForm.$valid && vm.register()", novalidate, autocomplete="off" aria-label="Registration") - label(for="registration") Registration form + label(for="registration") Registration form // Stops Chrome from autofilling and autocompleting (along with autocomplete="off" on the form) input(autocomplete="false", name="hidden", type="text", style="display:none;") @@ -20,12 +20,15 @@ .first-last-names input-sticky-placeholder(sticky-placeholder="First", ng-model="vm.firstname") - input(ng-model="vm.firstname", maxlength="64", name="firstname", placeholder="First Name", type="text", required) + label(for="firstname") First Name + input(ng-model="vm.firstname", maxlength="64", id="firstname", name="firstname", placeholder="First Name", type="text", required) input-sticky-placeholder(sticky-placeholder="Last", ng-model="vm.lastname") - input(ng-model="vm.lastname", maxlength="64", name="lastname", placeholder="Last Name", type="text", required) + label(for="lastname") Last Name + input(ng-model="vm.lastname", maxlength="64", id="lastname", name="lastname", placeholder="Last Name", type="text", required) - .country-dropdown + .country-dropdown#country + label(for="country") Country angucomplete-alt( input-name="country", placeholder="Country", @@ -48,7 +51,8 @@ .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.username.$error.usernameIsFree || vm.registerForm.username.$error.minlength || vm.registerForm.username.$error.maxlength) }") input-sticky-placeholder(sticky-placeholder="Username", ng-model="vm.username") - input(aria-describedby="tp-help-username", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="usernameFocusLoss()", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) + label(for="username") Username + input#username(aria-describedby="tp-help-username", ng-model="vm.username", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.usernameTips = true", ng-blur="usernameFocusLoss()", ng-minlength="2", ng-maxlength="15", name="username", placeholder="Username", type="text", username-is-free, required) .tips.username-tips(id="tp-help-username", role="tooltip", ng-show="vm.usernameTips") .arrow @@ -70,7 +74,8 @@ .validation-bar(ng-class="{ 'error-bar': (vm.registerForm.email.$dirty && vm.registerForm.email.$invalid) }") input-sticky-placeholder.email(sticky-placeholder="Email", ng-model="vm.email") - input(aria-describedby="tp-help-email", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="emailFocusLoss()", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") + label(for="email") Enter Your Email + input#email(aria-describedby="tp-help-email", ng-model="vm.email", ng-model-options="{ debounce: {'default': 500} }", ng-focus="vm.emailTips = true", ng-blur="emailFocusLoss()", name="email", placeholder="Enter Your Email", type="email", valid-email, email-is-available, required, ng-disabled="!!vm.ssoUser") .tips.email-tips(id="tp-help-email", role="tooltip", ng-show="vm.emailTips") .arrow @@ -96,6 +101,7 @@ p.form-error(ng-message="required" role="alert") Please enter an email address. .validation-bar + label(for="password-input") Password toggle-password-with-tips(ng-if="!vm.isSocialRegistration && !vm.ssoForced && !vm.ssoUser", placeholder="Create Password") .tips.password-tips(id="tp-help-password", role="tooltip", ng-show="vm.passwordFocus && !vm.ssoForced") From cc512687ab65f88370fc4089de69476a036167d3 Mon Sep 17 00:00:00 2001 From: rashmi73 Date: Fri, 23 Aug 2019 02:47:07 +0530 Subject: [PATCH 91/91] issue 3233 fix --- app/styles/tc/login.scss | 5 +++++ 1 file changed, 5 insertions(+) diff --git a/app/styles/tc/login.scss b/app/styles/tc/login.scss index 09bbfb36..373fb7b5 100644 --- a/app/styles/tc/login.scss +++ b/app/styles/tc/login.scss @@ -46,6 +46,11 @@ } } } + + .tc-btn-wide { + background: $tc-gray-20; + color: $tc-gray-80; + } section.login-options { a:focus { outline: 3px auto $tc-dark-blue-90;