| @ -1,101 +1,23 @@ | |||
| package mx.gob.jumapacelaya.views.login; | |||
| import com.vaadin.flow.component.dependency.CssImport; | |||
| import com.vaadin.flow.component.html.Image; | |||
| import com.vaadin.flow.component.login.LoginForm; | |||
| import com.vaadin.flow.component.login.LoginI18n; | |||
| import com.vaadin.flow.component.orderedlayout.HorizontalLayout; | |||
| import com.vaadin.flow.component.orderedlayout.VerticalLayout; | |||
| import com.vaadin.flow.router.BeforeEnterEvent; | |||
| import com.vaadin.flow.router.BeforeEnterObserver; | |||
| import com.vaadin.flow.router.PageTitle; | |||
| import com.vaadin.flow.router.Route; | |||
| import com.vaadin.flow.server.auth.AnonymousAllowed; | |||
| import org.slf4j.Logger; | |||
| import org.slf4j.LoggerFactory; | |||
| @Route("login") | |||
| @PageTitle("Login") | |||
| @AnonymousAllowed | |||
| @CssImport("./themes/soportet.iv1.2/styles.css") | |||
| public class LoginView extends VerticalLayout implements BeforeEnterObserver { | |||
| private static final Logger log = LoggerFactory.getLogger(LoginView.class); | |||
| private final LoginForm login = new LoginForm(); | |||
| public LoginView() { | |||
| login.addClassName("special"); | |||
| // Configuración de la vista | |||
| addClassName("login-rich-content"); | |||
| setSizeFull(); | |||
| setPadding(false); | |||
| setMargin(false); | |||
| // Crear el layout horizontal | |||
| HorizontalLayout mainLayout = new HorizontalLayout(); | |||
| mainLayout.setSizeFull(); | |||
| mainLayout.setPadding(false); | |||
| mainLayout.setMargin(false); | |||
| // Configuración de la imagen | |||
| Image logo = new Image("images/bckgndNvo.png", "Fondo Nvo color"); | |||
| logo.addClassName("login-logo"); | |||
| // Configuración de i18n para el formulario de login | |||
| LoginI18n i18n = LoginI18n.createDefault(); | |||
| LoginI18n.Form i18nFormulario = i18n.getForm(); | |||
| i18nFormulario.setTitle("Soporte Técnico Gcia. de T.I"); | |||
| i18nFormulario.setUsername("Usuario"); | |||
| i18nFormulario.setPassword("Contraseña"); | |||
| i18nFormulario.setSubmit("Iniciar sesión"); | |||
| i18n.setForm(i18nFormulario); | |||
| // Configuración de los mensajes de error | |||
| LoginI18n.ErrorMessage i18nError = i18n.getErrorMessage(); | |||
| i18nError.setTitle("Credenciales incorrectas"); | |||
| i18nError.setMessage("Usuario o contraseña incorrectos, verifica tus credenciales"); | |||
| i18n.setErrorMessage(i18nError); | |||
| i18n.setAdditionalInformation("Versión 2.1.0"); | |||
| // Configuración del formulario de login | |||
| login.setAction("login"); | |||
| login.setForgotPasswordButtonVisible(false); | |||
| login.setI18n(i18n); | |||
| login.getStyle().set("background-color", "#A02142"); | |||
| // Crear un contenedor para el formulario | |||
| VerticalLayout loginFormContainer = new VerticalLayout(); | |||
| Image imageLogin = new Image("images/JUMAPA_NVO.png", "Logo"); | |||
| imageLogin.setWidth("300px"); | |||
| loginFormContainer.add(imageLogin); | |||
| loginFormContainer.add(login); | |||
| loginFormContainer.setSizeUndefined(); | |||
| loginFormContainer.setPadding(false); | |||
| loginFormContainer.setMargin(false); | |||
| loginFormContainer.setAlignItems(Alignment.CENTER); | |||
| loginFormContainer.setJustifyContentMode(JustifyContentMode.CENTER); | |||
| loginFormContainer.getElement().getThemeList().add("dark"); | |||
| // Añadir la imagen y el contenedor del formulario al layout principal | |||
| mainLayout.add(loginFormContainer, logo); | |||
| mainLayout.setFlexGrow(1, loginFormContainer); | |||
| mainLayout.setFlexGrow(2, logo); | |||
| // Añadir el layout principal a la vista | |||
| add(mainLayout); | |||
| } | |||
| @Override | |||
| public void beforeEnter(BeforeEnterEvent beforeEnterEvent) { | |||
| // Mostrar el mensaje de error si hay un parámetro de error en la URL | |||
| if (beforeEnterEvent.getLocation() | |||
| .getQueryParameters() | |||
| .getParameters() | |||
| .containsKey("error")) { | |||
| login.setError(true); | |||
| } | |||
| public void beforeEnter(BeforeEnterEvent event) { | |||
| event.forwardTo("iniciarSesion"); | |||
| } | |||
| } | |||