From f04fbf7adb9a1987ecb2edd299ee634816dc901d Mon Sep 17 00:00:00 2001 From: Guilherme Gazzo Date: Thu, 28 Feb 2019 13:22:49 -0300 Subject: [PATCH] [FIX] allow user to logout before set username (#13439) --- .../client/login/form.html | 32 +++++----- .../client/username/username.html | 5 +- .../client/username/username.js | 4 +- .../client/imports/forms/button.css | 58 ++++++++++++++++++- .../client/imports/general/base_old.css | 11 ---- tests/pageobjects/login.page.js | 6 +- 6 files changed, 79 insertions(+), 37 deletions(-) diff --git a/packages/rocketchat-ui-login/client/login/form.html b/packages/rocketchat-ui-login/client/login/form.html index a793b3efdadb..bf29397377db 100644 --- a/packages/rocketchat-ui-login/client/login/form.html +++ b/packages/rocketchat-ui-login/client/login/form.html @@ -119,33 +119,31 @@

{{{_ "Registration_Succeeded"}}}

{{/if}} -
- -
+
+ {{#if state 'login'}} {{#if registrationAllowed}} -
- -
+ + + {{else}} - {{#if linkReplacementText}} - - {{/if}} + {{#if linkReplacementText}} + + {{/if}} {{/if}} {{#if passwordResetAllowed}} -
- -
+ {{/if}} {{/if}} +
{{/if}} {{/if}} {{#unless state 'login'}} -
- -
+
+ +
{{/unless}}
diff --git a/packages/rocketchat-ui-login/client/username/username.html b/packages/rocketchat-ui-login/client/username/username.html index 8bb202153936..506a530d4749 100644 --- a/packages/rocketchat-ui-login/client/username/username.html +++ b/packages/rocketchat-ui-login/client/username/username.html @@ -35,8 +35,9 @@

{{_ "Username_title"}}

{{#if username.ready}} -
- +
+ +
{{/if}} diff --git a/packages/rocketchat-ui-login/client/username/username.js b/packages/rocketchat-ui-login/client/username/username.js index 20af7ab06f22..b9248dfd3904 100644 --- a/packages/rocketchat-ui-login/client/username/username.js +++ b/packages/rocketchat-ui-login/client/username/username.js @@ -43,7 +43,9 @@ Template.username.events({ return $(event.currentTarget).parents('.input-text').removeClass('focus'); } }, - + 'reset #login-card'() { + Meteor.logout(); + }, 'submit #login-card'(event, instance) { event.preventDefault(); diff --git a/packages/rocketchat_theme/client/imports/forms/button.css b/packages/rocketchat_theme/client/imports/forms/button.css index edaf7d100556..f5c221ecbef9 100644 --- a/packages/rocketchat_theme/client/imports/forms/button.css +++ b/packages/rocketchat_theme/client/imports/forms/button.css @@ -6,14 +6,16 @@ &--icon > svg { margin: 0 5px 0 -5px; + font-size: 20px; + fill: currentColor; + .rtl & { margin: 0 -5px 0 5px; } - - font-size: 20px; - fill: currentColor; } + position: relative; + display: flex; min-height: 40px; @@ -38,6 +40,32 @@ align-items: center; justify-content: center; + &:active, + &:focus:hover { + outline: none; + } + + &:active { + transform: translateY(2px); + + opacity: 0.9; + } + + &:active::before { + top: -2px; + } + + &::before { + position: absolute; + top: 0; + right: 0; + bottom: 0; + left: 0; + + content: ""; + cursor: pointer; + } + &:disabled { cursor: default; @@ -149,6 +177,30 @@ margin: 0 5px; } } + + &__group { + display: flex; + + flex-direction: row; + + margin: 10px -5px; + + & > .rc-button { + margin: 0 5px; + } + + &--stretch { + justify-content: stretch; + + & > .rc-button { + flex: 1 1; + } + } + + &--vertical { + flex-direction: column; + } + } } @media (width < 780px) { diff --git a/packages/rocketchat_theme/client/imports/general/base_old.css b/packages/rocketchat_theme/client/imports/general/base_old.css index 27c96f0800b6..9c492ac1e4ab 100644 --- a/packages/rocketchat_theme/client/imports/general/base_old.css +++ b/packages/rocketchat_theme/client/imports/general/base_old.css @@ -4176,17 +4176,6 @@ body:not(.is-cordova) { font-size: 10px; } - & .submit, - & .register, - & .forgot-password, - & .back-to-login { - margin-top: 12px; - - & button { - margin: 0 auto; - } - } - & .input-line { position: relative; diff --git a/tests/pageobjects/login.page.js b/tests/pageobjects/login.page.js index cf08dadbea32..c18e974521e6 100644 --- a/tests/pageobjects/login.page.js +++ b/tests/pageobjects/login.page.js @@ -3,9 +3,9 @@ import mainContent from './main-content.page'; class LoginPage extends Page { get registerButton() { return browser.element('button.register'); } - get forgotPasswordButton() { return browser.element('button.forgot-password'); } - get backToLoginButton() { return browser.element('button.back-to-login'); } - get submitButton() { return browser.element('.submit > button'); } + get forgotPasswordButton() { return browser.element('.forgot-password'); } + get backToLoginButton() { return browser.element('.back-to-login'); } + get submitButton() { return browser.element('.login'); } get emailOrUsernameField() { return browser.element('[name=emailOrUsername]'); } get nameField() { return browser.element('[name=name]'); }