| @ -1,101 +1,23 @@ | |||||
| package mx.gob.jumapacelaya.views.login; | 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.component.orderedlayout.VerticalLayout; | ||||
| import com.vaadin.flow.router.BeforeEnterEvent; | import com.vaadin.flow.router.BeforeEnterEvent; | ||||
| import com.vaadin.flow.router.BeforeEnterObserver; | import com.vaadin.flow.router.BeforeEnterObserver; | ||||
| import com.vaadin.flow.router.PageTitle; | import com.vaadin.flow.router.PageTitle; | ||||
| import com.vaadin.flow.router.Route; | import com.vaadin.flow.router.Route; | ||||
| import com.vaadin.flow.server.auth.AnonymousAllowed; | import com.vaadin.flow.server.auth.AnonymousAllowed; | ||||
| import org.slf4j.Logger; | |||||
| import org.slf4j.LoggerFactory; | |||||
| @Route("login") | @Route("login") | ||||
| @PageTitle("Login") | @PageTitle("Login") | ||||
| @AnonymousAllowed | @AnonymousAllowed | ||||
| @CssImport("./themes/soportet.iv1.2/styles.css") | |||||
| public class LoginView extends VerticalLayout implements BeforeEnterObserver { | public class LoginView extends VerticalLayout implements BeforeEnterObserver { | ||||
| private static final Logger log = LoggerFactory.getLogger(LoginView.class); | |||||
| private final LoginForm login = new LoginForm(); | |||||
| public LoginView() { | 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 | @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"); | |||||
| } | } | ||||
| } | } | ||||