{% extends "@UVDeskCoreFramework//Templates//layout.html.twig" %}
{% block title %}Forgot Password{% endblock %}
{% block templateCSS %}
<style>
/* Ajustes para vista móvil */
@media screen and (max-width: 1200px) {
/* Ajustes generales */
#loginForm h1 {
font-size: 5vw; /* Usar vw para adaptarse al ancho de la pantalla */
color: #6F6F6F;
font-weight: 600;
margin: 0 0 10px 0;
}
.uv-element-block p {
font-size: 3vw; /* Usar vw para el párrafo */
color: #6F6F6F;
margin: 10px 0;
}
.uv-adjacent-element-block label {
font-size: 3vw; /* Usar vw para la etiqueta */
color: #6F6F6F;
}
.uv-field {
height: 60px; /* Altura fija para el input */
padding: 15px;
font-size: 3.5vw; /* Usar vw para el input */
}
.uv-btn {
font-size: 4vw; /* Usar vw para el botón */
padding: 15px;
height: 60px;
background-color: #fa832d;
border: none;
color: white;
cursor: pointer;
margin-top: 10px;
}
/* Ajustes para vista móvil */
@media screen and (max-width: 1200px) {
#loginForm h1 {
font-size: 6vw !important; /* Aumentar tamaño del título */
margin: 0 0 15px 0;
}
.uv-element-block p {
font-size: 4vw !important; /* Aumentar tamaño del párrafo */
}
.uv-adjacent-element-block label {
font-size: 3.5vw !important; /* Aumentar tamaño de la etiqueta */
}
.uv-field {
height: 60px !important;
padding: 15px !important;
font-size: 4vw !important; /* Aumentar tamaño de fuente del input */
}
.uv-btn {
font-size: 3vw !important; /* Aumentar tamaño del botón */
padding: 15px !important;
height: 100px !important;
}
.forgot-password-cta {
position: absolute;
font-size: 3.5vw !important; /* Aumentar tamaño del enlace */
right: 10px;
top: 10px;
}
.uv-max-field input {
height: 100px !important;
font-size: 4vw !important; /* Aumentar tamaño de fuente del input */
color: #333333;
width: 100%;
border-radius: 3px;
border: solid 1px #D3D3D3;
padding: 15px;
transition: 0.2s cubic-bezier(0.4, 0, 0.2, 1);
}
}
}
</style>
{% endblock %}
{% block pageWrapper %}
<div class="uv-large-box-plank">
<div class="uv-large-box-rt">
<div class="uv-center-box uv-text-center">
<form action="" method="post" id="loginForm">
<div class="uv-adjacent-center">
<h1>{{ 'Forgot Password'|trans }}</h1>
<div class="uv-element-block">
<p>{{ 'Enter your email address and we will send you an email with instructions to update your login credentials.'|trans }}</p>
</div>
<div class="uv-adjacent-form">
<div class="uv-adjacent-element-block">
<label>Email</label>
<div class="uv-max-field">
<input class="uv-field" type="email" name="forgot_password_form[email]">
</div>
</div>
<button class="uv-btn">{{ 'Send Mail'|trans }}</button>
</div>
</div>
</div>
</form>
</div>
<div class="uv-large-box-lt">
<div class="uv-center-box uv-text-center">
<a href="https://softguard.com">
<img alt="UVdesk" title="UVdesk" src="{{ asset('bundles/uvdeskcoreframework/images/uvdesk-logo-symbol.png') }}">
</a>
</div>
</div>
</div>
{% endblock %}
{% block footer %}
{{ parent() }}
<script type="text/javascript">
$(function () {
_.extend(Backbone.Validation.callbacks, {
valid : function (view, attr, selector) {
var $el = view.$('[name="' + attr + '"]');
$el.removeClass('uv-field-error');
$el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
},
invalid : function (view, attr, error, selector) {
var $el = view.$('[name="' + attr + '"]');
$el.addClass('uv-field-error');
$el.parents('.uv-adjacent-element-block').find('.uv-field-message').remove();
$el.parents('.uv-adjacent-element-block').append("<span class='uv-field-message'>" + error + "</span>");
}
});
var LoginModel = Backbone.Model.extend({
validation: {
'forgot_password_form[email]': [{
required: true,
msg: '{{ "This field is mandatory"|trans }}'
},{
pattern: 'email',
msg: "This is not a valid email address"
}]
}
});
var LoginForm = Backbone.View.extend({
el: 'form',
events: {
'blur input': 'formChanged',
'click .uv-btn': 'submit'
},
initialize: function () {
this.model = new LoginModel();
Backbone.Validation.bind(this);
},
formChanged: function(e) {
this.model.set(Backbone.$(e.currentTarget).attr('name'), Backbone.$(e.currentTarget).val())
this.model.isValid([Backbone.$(e.currentTarget).attr('name')])
},
submit: function (e) {
e.preventDefault();
var data = this.$el.serializeObject();
this.model.set(data);
if(this.model.isValid(true)){
this.$el.submit();
}
}
});
new LoginForm();
});
</script>
{% endblock %}