Allow capslock warning and Forgot password button to live togheter
parent
2ee79aa983
commit
b30f6cab3e
|
@ -300,32 +300,22 @@ Capslock = ($translate) ->
|
||||||
|
|
||||||
$(this).remove()
|
$(this).remove()
|
||||||
|
|
||||||
showIcon = () ->
|
showIcon = (e) ->
|
||||||
return if open
|
return if open
|
||||||
|
element = e.currentTarget
|
||||||
top = $el.position().top
|
$(element).parent().append(warningIcon)
|
||||||
left = $el.position().left + $el.outerWidth(true)
|
$('.icon-capslock').fadeIn()
|
||||||
|
|
||||||
warningIcon.css({
|
|
||||||
display: 'none',
|
|
||||||
position: 'absolute',
|
|
||||||
top: top,
|
|
||||||
left: left - 25
|
|
||||||
lineHeight: $el.outerHeight() + 'px',
|
|
||||||
marginLeft: 0
|
|
||||||
})
|
|
||||||
|
|
||||||
warningIcon
|
|
||||||
.insertAfter($el)
|
|
||||||
.fadeIn()
|
|
||||||
|
|
||||||
open = true
|
open = true
|
||||||
|
|
||||||
$el.on 'keyup.capslock', (e) ->
|
$el.on 'blur', (e) ->
|
||||||
|
hideIcon()
|
||||||
|
|
||||||
|
$el.on 'keyup.capslock, focus', (e) ->
|
||||||
if $el.val() == $el.val().toLowerCase()
|
if $el.val() == $el.val().toLowerCase()
|
||||||
hideIcon()
|
hideIcon(e)
|
||||||
else
|
else
|
||||||
showIcon()
|
showIcon(e)
|
||||||
|
|
||||||
$scope.$on "$destroy", ->
|
$scope.$on "$destroy", ->
|
||||||
$el.off('.capslock')
|
$el.off('.capslock')
|
||||||
|
|
|
@ -6,8 +6,17 @@ div.change-email-form(tg-change-email)
|
||||||
|
|
||||||
form
|
form
|
||||||
fieldset
|
fieldset
|
||||||
input(type="hidden", name="email_token", ng-model="data.email_token", data-required="true",
|
input(
|
||||||
placeholder="{{'CHANGE_EMAIL_FORM.PLACEHOLDER_INPUT_TOKEN' | translate}}")
|
type="hidden"
|
||||||
|
name="email_token"
|
||||||
|
ng-model="data.email_token"
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'CHANGE_EMAIL_FORM.PLACEHOLDER_INPUT_TOKEN' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
a.button-change-email.button-gray(href="", title="{{'CHANGE_EMAIL_FORM.ACTION_CHANGE_EMAIL' | translate}}", translate="CHANGE_EMAIL_FORM.ACTION_CHANGE_EMAIL")
|
a.button-change-email.button-gray(
|
||||||
|
href=""
|
||||||
|
title="{{'CHANGE_EMAIL_FORM.ACTION_CHANGE_EMAIL' | translate}}"
|
||||||
|
translate="CHANGE_EMAIL_FORM.ACTION_CHANGE_EMAIL"
|
||||||
|
)
|
||||||
button(type="submit", class="hidden")
|
button(type="submit", class="hidden")
|
||||||
|
|
|
@ -6,10 +6,29 @@ div.change-password-form-container(tg-change-password-from-recovery)
|
||||||
|
|
||||||
form
|
form
|
||||||
fieldset
|
fieldset
|
||||||
input(type="password", tg-capslock, name="password", id="password", ng-model="data.password",
|
input(
|
||||||
data-required="true", placeholder="{{'CHANGE_PASSWORD_RECOVERY_FORM.PLACEHOLDER_NEW_PASSWORD' | translate}}")
|
type="password"
|
||||||
|
name="password"
|
||||||
|
id="password"
|
||||||
|
tg-capslock
|
||||||
|
ng-model="data.password"
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'CHANGE_PASSWORD_RECOVERY_FORM.PLACEHOLDER_NEW_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
fieldset
|
fieldset
|
||||||
input(type="password", tg-capslock, name="password2", id="password2", ng-model="data.password2",
|
input(
|
||||||
data-required="true", data-equalto="#password", placeholder="{{'CHANGE_PASSWORD_RECOVERY_FORM.PLACEHOLDER_RE_TYPE_NEW_PASSWORD' | translate}}")
|
type="password"
|
||||||
|
name="password2"
|
||||||
|
id="password2"
|
||||||
|
tg-capslock
|
||||||
|
ng-model="data.password2"
|
||||||
|
data-required="true"
|
||||||
|
data-equalto="#password"
|
||||||
|
placeholder="{{'CHANGE_PASSWORD_RECOVERY_FORM.PLACEHOLDER_RE_TYPE_NEW_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
fieldset
|
fieldset
|
||||||
button.button-change-password.button-gray.submit-button(type="submit", title="{{'CHANGE_PASSWORD_RECOVERY_FORM.ACTION_RESET_PASSWORD' | translate}}", translate="CHANGE_PASSWORD_RECOVERY_FORM.ACTION_RESET_PASSWORD")
|
button.button-change-password.button-gray.submit-button(
|
||||||
|
type="submit"
|
||||||
|
title="{{'CHANGE_PASSWORD_RECOVERY_FORM.ACTION_RESET_PASSWORD' | translate}}"
|
||||||
|
translate="CHANGE_PASSWORD_RECOVERY_FORM.ACTION_RESET_PASSWORD"
|
||||||
|
)
|
||||||
|
|
|
@ -6,9 +6,18 @@ div.forgot-form-container(tg-forgot-password)
|
||||||
|
|
||||||
form(ng-submit="ctrl.submit()")
|
form(ng-submit="ctrl.submit()")
|
||||||
fieldset
|
fieldset
|
||||||
input(type="text", tg-capslock, name="username", ng-model="data.username", data-required="true",
|
input(
|
||||||
placeholder="{{'FORGOT_PASSWORD_FORM.PLACEHOLDER_FIELD' | translate}}")
|
type="text"
|
||||||
|
name="username"
|
||||||
|
ng-model="data.username"
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'FORGOT_PASSWORD_FORM.PLACEHOLDER_FIELD' | translate}}"
|
||||||
|
)
|
||||||
fieldset
|
fieldset
|
||||||
button.button-gray.submit-button.button-forgot(type="submit", title="{{'FORGOT_PASSWORD_FORM.ACTION_RESET_PASSWORD' | translate}}", translate="FORGOT_PASSWORD_FORM.ACTION_RESET_PASSWORD")
|
button.button-gray.submit-button.button-forgot(
|
||||||
|
type="submit"
|
||||||
|
title="{{'FORGOT_PASSWORD_FORM.ACTION_RESET_PASSWORD' | translate}}"
|
||||||
|
translate="FORGOT_PASSWORD_FORM.ACTION_RESET_PASSWORD"
|
||||||
|
)
|
||||||
|
|
||||||
a(href="", tg-nav="login", translate="FORGOT_PASSWORD_FORM.LINK_CANCEL")
|
a(href="", tg-nav="login", translate="FORGOT_PASSWORD_FORM.LINK_CANCEL")
|
||||||
|
|
|
@ -2,19 +2,36 @@ form.login-form
|
||||||
p.form-header(translate="LOGIN_COMMON.HEADER")
|
p.form-header(translate="LOGIN_COMMON.HEADER")
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
input(type="text", tg-capslock, name="username", ng-model="dataLogin.username", data-required="true",
|
input(
|
||||||
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_NAME' | translate}}")
|
type="text"
|
||||||
|
name="username"
|
||||||
|
ng-model="dataLogin.username"
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_NAME' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset.login-password
|
fieldset.login-password
|
||||||
input(type="password", tg-capslock, name="password", ng-model="dataLogin.password", data-required="true",
|
input(
|
||||||
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_PASSWORD' | translate}}")
|
type="password"
|
||||||
a.forgot-pass(href="", tg-nav="forgot-password", tg-capslock,
|
name="password"
|
||||||
title="{{'LOGIN_COMMON.TITLE_LINK_FORGOT_PASSWORD' | translate}}",
|
tg-capslock
|
||||||
translate="LOGIN_COMMON.LINK_FORGOT_PASSWORD")
|
ng-model="dataLogin.password"
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
|
// This should be hidden when focus on pass
|
||||||
|
a.forgot-pass(
|
||||||
|
href=""
|
||||||
|
tg-nav="forgot-password"
|
||||||
|
title="{{'LOGIN_COMMON.TITLE_LINK_FORGOT_PASSWORD' | translate}}"
|
||||||
|
translate="LOGIN_COMMON.LINK_FORGOT_PASSWORD"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
a.button-login.button-blackish.submit-button(type="submit",
|
a.button-login.button-blackish.submit-button(
|
||||||
title="{{'LOGIN_COMMON.ACTION_ENTER' | translate}}",
|
type="submit"
|
||||||
translate="LOGIN_COMMON.ACTION_ENTER")
|
title="{{'LOGIN_COMMON.ACTION_ENTER' | translate}}"
|
||||||
|
translate="LOGIN_COMMON.ACTION_ENTER"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset(ng-repeat="plugin in contribPlugins|filter:{type: 'auth'}", ng-include="plugin.template")
|
fieldset(ng-repeat="plugin in contribPlugins|filter:{type: 'auth'}", ng-include="plugin.template")
|
||||||
|
|
|
@ -29,7 +29,7 @@ form.register-form
|
||||||
data-required="true"
|
data-required="true"
|
||||||
data-maxlength="255"
|
data-maxlength="255"
|
||||||
placeholder="{{'REGISTER_FORM.PLACEHOLDER_EMAIL' | translate}}"
|
placeholder="{{'REGISTER_FORM.PLACEHOLDER_EMAIL' | translate}}"
|
||||||
)
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
input(
|
input(
|
||||||
|
|
|
@ -1,18 +1,40 @@
|
||||||
div.login-form-container(tg-login)
|
div.login-form-container(tg-login)
|
||||||
form.login-form
|
form.login-form
|
||||||
fieldset
|
fieldset
|
||||||
input(type="text", tg-capslock, name="username", data-required="true",
|
input(
|
||||||
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_NAME' | translate}}")
|
type="text"
|
||||||
|
name="username"
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_NAME' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset.login-password
|
fieldset.login-password
|
||||||
input(type="password", tg-capslock, name="password", data-required="true",
|
input(
|
||||||
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_PASSWORD' | translate}}")
|
type="password"
|
||||||
|
name="password"
|
||||||
|
tg-capslock
|
||||||
|
data-required="true"
|
||||||
|
placeholder="{{'LOGIN_COMMON.PLACEHOLDER_AUTH_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
// This should be hidden when focus on pass
|
// This should be hidden when focus on pass
|
||||||
a.forgot-pass(href="", tg-nav="forgot-password", title="{{'LOGIN_COMMON.TITLE_LINK_FORGOT_PASSWORD' | translate}}", translate="LOGIN_COMMON.LINK_FORGOT_PASSWORD")
|
a.forgot-pass(
|
||||||
|
href=""
|
||||||
|
tg-nav="forgot-password"
|
||||||
|
title="{{'LOGIN_COMMON.TITLE_LINK_FORGOT_PASSWORD' | translate}}"
|
||||||
|
translate="LOGIN_COMMON.LINK_FORGOT_PASSWORD"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
button.button-green.submit-button(type="submit", title="{{'LOGIN_COMMON.ACTION_SIGN_IN' | translate}}", translate="LOGIN_COMMON.ACTION_SIGN_IN")
|
button.button-green.submit-button(
|
||||||
|
type="submit"
|
||||||
|
title="{{'LOGIN_COMMON.ACTION_SIGN_IN' | translate}}"
|
||||||
|
translate="LOGIN_COMMON.ACTION_SIGN_IN"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset(ng-repeat="plugin in contribPlugins|filter:{type: 'auth'}", ng-include="plugin.template")
|
fieldset(
|
||||||
|
ng-repeat="plugin in contribPlugins|filter:{type: 'auth'}"
|
||||||
|
ng-include="plugin.template"
|
||||||
|
)
|
||||||
|
|
||||||
tg-public-register-message
|
tg-public-register-message
|
||||||
|
|
|
@ -50,12 +50,10 @@ div.register-form-container(tg-register)
|
||||||
translate="REGISTER_FORM.ACTION_SIGN_UP"
|
translate="REGISTER_FORM.ACTION_SIGN_UP"
|
||||||
)
|
)
|
||||||
|
|
||||||
fieldset(tg-github-login-button)
|
|
||||||
|
|
||||||
//- Only displays terms notice when terms plugin is loaded.
|
//- Only displays terms notice when terms plugin is loaded.
|
||||||
tg-terms-of-service-and-privacy-policy-notice
|
tg-terms-of-service-and-privacy-policy-notice
|
||||||
|
|
||||||
a.register-text-top(i
|
a.register-text-top(
|
||||||
href=""
|
href=""
|
||||||
title="{{'REGISTER_FORM.TITLE_LINK_LOGIN' | translate}}"
|
title="{{'REGISTER_FORM.TITLE_LINK_LOGIN' | translate}}"
|
||||||
tg-nav="login"
|
tg-nav="login"
|
||||||
|
|
|
@ -1,7 +1,10 @@
|
||||||
doctype html
|
doctype html
|
||||||
|
|
||||||
div.wrapper(tg-user-change-password, ng-controller="UserChangePasswordController as ctrl",
|
div.wrapper(
|
||||||
ng-init="section='user-settings'")
|
tg-user-change-password
|
||||||
|
ng-controller="UserChangePasswordController as ctrl"
|
||||||
|
ng-init="section='user-settings'"
|
||||||
|
)
|
||||||
tg-project-menu
|
tg-project-menu
|
||||||
|
|
||||||
sidebar.menu-secondary.sidebar.settings-nav(tg-user-settings-navigation="change-password")
|
sidebar.menu-secondary.sidebar.settings-nav(tg-user-settings-navigation="change-password")
|
||||||
|
@ -15,12 +18,40 @@ div.wrapper(tg-user-change-password, ng-controller="UserChangePasswordController
|
||||||
form
|
form
|
||||||
fieldset
|
fieldset
|
||||||
label(for="current-password", translate="CHANGE_PASSWORD.FIELD_CURRENT_PASSWORD")
|
label(for="current-password", translate="CHANGE_PASSWORD.FIELD_CURRENT_PASSWORD")
|
||||||
input(type="password", placeholder="{{'CHANGE_PASSWORD.PLACEHOLDER_CURRENT_PASSWORD' | translate}}", id="current-password", ng-model="currentPassword", tg-capslock)
|
input(
|
||||||
|
type="password"
|
||||||
|
name="password"
|
||||||
|
id="current-password"
|
||||||
|
tg-capslock
|
||||||
|
ng-model="currentPassword"
|
||||||
|
placeholder="{{'CHANGE_PASSWORD.PLACEHOLDER_CURRENT_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="new-password", translate="CHANGE_PASSWORD.FIELD_NEW_PASSWORD")
|
label(for="new-password", translate="CHANGE_PASSWORD.FIELD_NEW_PASSWORD")
|
||||||
input(type="password", placeholder="{{'CHANGE_PASSWORD.PLACEHOLDER_NEW_PASSWORD' | translate}}", id="new-password", ng-model="newPassword1", tg-capslock)
|
input(
|
||||||
|
type="password"
|
||||||
|
name="new-password"
|
||||||
|
id="new-password"
|
||||||
|
tg-capslock
|
||||||
|
ng-model="newPassword1"
|
||||||
|
placeholder="{{'CHANGE_PASSWORD.PLACEHOLDER_NEW_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="retype-password", translate="CHANGE_PASSWORD.FIELD_RETYPE_PASSWORD")
|
label(for="retype-password", translate="CHANGE_PASSWORD.FIELD_RETYPE_PASSWORD")
|
||||||
input(type="password", placeholder="{{'CHANGE_PASSWORD.PLACEHOLDER_RETYPE_PASSWORD' | translate}}", id="retype-password", ng-model="newPassword2", tg-capslock)
|
input(
|
||||||
|
type="password"
|
||||||
|
name="retype-password"
|
||||||
|
id="retype-password"
|
||||||
|
tg-capslock
|
||||||
|
ng-model="newPassword2"
|
||||||
|
placeholder="{{'CHANGE_PASSWORD.PLACEHOLDER_RETYPE_PASSWORD' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
button.button-green.submit-button(type="submit", title="{{'COMMON.SAVE' | translate}}", translate="COMMON.SAVE")
|
button.button-green.submit-button(
|
||||||
|
type="submit"
|
||||||
|
title="{{'COMMON.SAVE' | translate}}"
|
||||||
|
translate="COMMON.SAVE"
|
||||||
|
)
|
||||||
|
|
|
@ -18,62 +18,107 @@ div.wrapper(tg-user-profile, ng-controller="UserSettingsController as ctrl",
|
||||||
.image-container
|
.image-container
|
||||||
img.avatar(ng-src="{{user.big_photo}}" alt="avatar")
|
img.avatar(ng-src="{{user.big_photo}}" alt="avatar")
|
||||||
.overlay.hidden
|
.overlay.hidden
|
||||||
img.loading-spinner(src="/svg/spinner-circle.svg",
|
img.loading-spinner(
|
||||||
alt="{{'COMMON.LOADING' | translate}}")
|
src="/svg/spinner-circle.svg",
|
||||||
input(type="file", id="avatar-field", class="hidden",
|
alt="{{'COMMON.LOADING' | translate}}"
|
||||||
tg-avatar-model="avatarAttachment")
|
)
|
||||||
|
|
||||||
|
input.hidden(
|
||||||
|
type="file"
|
||||||
|
id="avatar-field"
|
||||||
|
tg-avatar-model="avatarAttachment"
|
||||||
|
)
|
||||||
|
|
||||||
p(translate="USER_PROFILE.IMAGE_HELP")
|
p(translate="USER_PROFILE.IMAGE_HELP")
|
||||||
span.size-info.hidden(tg-bo-html="maxFileSizeMsg")
|
span.size-info.hidden(tg-bo-html="maxFileSizeMsg")
|
||||||
a.button-green.change.js-change-avatar(translate="USER_PROFILE.ACTION_CHANGE_IMAGE",
|
|
||||||
title="{{'USER_PROFILE.CHANGE_PHOTO' | translate}} {{maxFileSizeMsg}}")
|
a.button-green.change.js-change-avatar(
|
||||||
|
translate="USER_PROFILE.ACTION_CHANGE_IMAGE",
|
||||||
|
title="{{'USER_PROFILE.CHANGE_PHOTO' | translate}} {{maxFileSizeMsg}}"
|
||||||
|
)
|
||||||
a.use-gravatar(translate="USER_PROFILE.ACTION_USE_GRAVATAR")
|
a.use-gravatar(translate="USER_PROFILE.ACTION_USE_GRAVATAR")
|
||||||
|
|
||||||
div.data
|
div.data
|
||||||
fieldset
|
fieldset
|
||||||
label(for="username", translate="USER_PROFILE.FIELD.USERNAME")
|
label(for="username", translate="USER_PROFILE.FIELD.USERNAME")
|
||||||
input(type="text", name="username", id="username", tg-capslock,
|
input(
|
||||||
placeholder="{{'USER_PROFILE.FIELD.USERNAME' | translate}}",
|
type="text"
|
||||||
ng-model="user.username", data-required="true", data-maxlength="255",
|
name="username"
|
||||||
data-regexp="^[\\w.-]+$")
|
id="username"
|
||||||
|
ng-model="user.username"
|
||||||
|
data-required="true"
|
||||||
|
data-maxlength="255"
|
||||||
|
data-regexp="^[\\w.-]+$"
|
||||||
|
placeholder="{{'USER_PROFILE.FIELD.USERNAME' | translate}}",
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="email", translate="USER_PROFILE.FIELD.EMAIL")
|
label(for="email", translate="USER_PROFILE.FIELD.EMAIL")
|
||||||
input(type="text", name="email", id="email", tg-capslock,
|
input(
|
||||||
placeholder="{{'USER_PROFILE.FIELD.EMAIL' | translate}}",
|
type="text"
|
||||||
ng-model="user.email", data-type="email", data-required="true",
|
name="email"
|
||||||
data-maxlength="255")
|
id="email"
|
||||||
|
ng-model="user.email"
|
||||||
|
data-type="email"
|
||||||
|
data-required="true"
|
||||||
|
data-maxlength="255"
|
||||||
|
placeholder="{{'USER_PROFILE.FIELD.EMAIL' | translate}}"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="full-name", translate="USER_PROFILE.FIELD.FULL_NAME")
|
label(for="full-name", translate="USER_PROFILE.FIELD.FULL_NAME")
|
||||||
input(type="text", name="full_name", id="full-name",
|
input(
|
||||||
placeholder="{{'USER_PROFILE.FIELD.PLACEHOLDER_FULL_NAME' | translate}}",
|
type="text"
|
||||||
ng-model="user.full_name", data-required="true",
|
name="full_name"
|
||||||
data-maxlength="256")
|
id="full-name"
|
||||||
|
ng-model="user.full_name"
|
||||||
|
data-required="true"
|
||||||
|
data-maxlength="256"
|
||||||
|
placeholder="{{'USER_PROFILE.FIELD.PLACEHOLDER_FULL_NAME' | translate}}",
|
||||||
|
)
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="lang", translate="USER_PROFILE.FIELD.LANGUAGE")
|
label(for="lang", translate="USER_PROFILE.FIELD.LANGUAGE")
|
||||||
select(name="lang", id="lang", ng-model="lang",
|
select(
|
||||||
ng-options="locale.code as locale.name for locale in locales")
|
name="lang"
|
||||||
|
id="lang"
|
||||||
|
ng-model="lang"
|
||||||
|
ng-options="locale.code as locale.name for locale in locales"
|
||||||
|
)
|
||||||
option(value="", translate="USER_PROFILE.FIELD.LANGUAGE_DEFAULT")
|
option(value="", translate="USER_PROFILE.FIELD.LANGUAGE_DEFAULT")
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="theme", translate="USER_PROFILE.FIELD.THEME")
|
label(for="theme", translate="USER_PROFILE.FIELD.THEME")
|
||||||
select(name="theme", id="theme", ng-model="theme",
|
select(
|
||||||
ng-options="availableTheme for availableTheme in availableThemes")
|
name="theme"
|
||||||
|
id="theme"
|
||||||
|
ng-model="theme"
|
||||||
|
ng-options="availableTheme for availableTheme in availableThemes"
|
||||||
|
)
|
||||||
option(value="", translate="USER_PROFILE.FIELD.THEME_DEFAULT")
|
option(value="", translate="USER_PROFILE.FIELD.THEME_DEFAULT")
|
||||||
|
|
||||||
fieldset
|
fieldset
|
||||||
label(for="bio", translate="USER_PROFILE.FIELD.BIO")
|
label(for="bio", translate="USER_PROFILE.FIELD.BIO")
|
||||||
|
textarea(
|
||||||
textarea(name="bio", id="bio", ng-model="user.bio",
|
name="bio"
|
||||||
ng-attr-placeholder="{{'USER_PROFILE.FIELD.PLACEHOLDER_BIO' | translate}}",
|
id="bio"
|
||||||
ng-maxlength="210", maxlength="210")
|
ng-model="user.bio"
|
||||||
|
ng-attr-placeholder="{{'USER_PROFILE.FIELD.PLACEHOLDER_BIO' | translate}}"
|
||||||
|
ng-maxlength="210"
|
||||||
|
maxlength="210"
|
||||||
|
)
|
||||||
|
|
||||||
fieldset.submit
|
fieldset.submit
|
||||||
button.button-green.submit-button(type="submit", title="{{'COMMON.SAVE' | translate}}",
|
button.button-green.submit-button(
|
||||||
translate="COMMON.SAVE")
|
type="submit"
|
||||||
a.delete-account(href="", title="{{'USER_PROFILE.ACTION_DELETE_ACCOUNT' | translate}}",
|
title="{{'COMMON.SAVE' | translate}}",
|
||||||
ng-click="ctrl.openDeleteLightbox()",
|
translate="COMMON.SAVE"
|
||||||
translate="USER_PROFILE.ACTION_DELETE_ACCOUNT")
|
)
|
||||||
|
a.delete-account(
|
||||||
|
href=""
|
||||||
|
title="{{'USER_PROFILE.ACTION_DELETE_ACCOUNT' | translate}}"
|
||||||
|
ng-click="ctrl.openDeleteLightbox()"
|
||||||
|
translate="USER_PROFILE.ACTION_DELETE_ACCOUNT"
|
||||||
|
)
|
||||||
|
|
||||||
div.lightbox.lightbox-delete-account(tg-lb-delete-user)
|
div.lightbox.lightbox-delete-account(tg-lb-delete-user)
|
||||||
|
|
|
@ -4,11 +4,7 @@ fieldset {
|
||||||
padding: 0;
|
padding: 0;
|
||||||
position: relative;
|
position: relative;
|
||||||
width: 100%;
|
width: 100%;
|
||||||
.icon-capslock {
|
|
||||||
cursor: pointer;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
|
|
||||||
input[type="text"],
|
input[type="text"],
|
||||||
input[type="number"],
|
input[type="number"],
|
||||||
input[type="password"],
|
input[type="password"],
|
||||||
|
@ -25,16 +21,20 @@ textarea {
|
||||||
transition: border .3s linear;
|
transition: border .3s linear;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
textarea {
|
textarea {
|
||||||
min-height: 10rem;
|
min-height: 10rem;
|
||||||
resize: vertical;
|
resize: vertical;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
.checksley-error-list {
|
.checksley-error-list {
|
||||||
margin-bottom: 0;
|
margin-bottom: 0;
|
||||||
li {
|
li {
|
||||||
padding: .2rem;
|
padding: .2rem;
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
.icon-capslock {
|
||||||
|
bottom: .6rem;
|
||||||
|
color: $gray;
|
||||||
|
display: none;
|
||||||
|
position: absolute;
|
||||||
|
right: 1rem;
|
||||||
|
}
|
||||||
|
|
|
@ -2,19 +2,21 @@
|
||||||
.login-password {
|
.login-password {
|
||||||
position: relative;
|
position: relative;
|
||||||
}
|
}
|
||||||
input:focus {
|
input {
|
||||||
+.forgot-pass {
|
&:focus {
|
||||||
opacity: 0;
|
+.forgot-pass {
|
||||||
transition: opacity .5s linear;
|
opacity: 0;
|
||||||
|
transition: opacity .3s linear;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
.forgot-pass {
|
.forgot-pass {
|
||||||
@extend %small;
|
@extend %small;
|
||||||
color: $gray-light;
|
color: $gray;
|
||||||
opacity: 1;
|
opacity: 1;
|
||||||
position: absolute;
|
position: absolute;
|
||||||
right: 1rem;
|
right: 1rem;
|
||||||
top: .5rem;
|
top: .6rem;
|
||||||
transition: all .3s linear;
|
transition: all .3s linear;
|
||||||
&:hover {
|
&:hover {
|
||||||
color: $grayer;
|
color: $grayer;
|
||||||
|
|
Loading…
Reference in New Issue