diff --git a/src/main/bundles/dev.bundle b/src/main/bundles/dev.bundle index 7562bd9..cf31955 100644 Binary files a/src/main/bundles/dev.bundle and b/src/main/bundles/dev.bundle differ diff --git a/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java b/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java index 8f882dd..009fab9 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/crearnuevoticket/CrearnuevoTicketView.java @@ -64,14 +64,13 @@ public class CrearnuevoTicketView extends VerticalLayout { uploadFile.addSucceededListener(event -> handleFileUpload(event.getFileName())); Button createButton = new Button("Enviar ticket", event -> handleCreateButton(user, tipoTickets, asunto, descripcion)); - - createButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY); + createButton.addThemeVariants(ButtonVariant.LUMO_PRIMARY, ButtonVariant.LUMO_LARGE); VerticalLayout fieldsLayout = new VerticalLayout(descripcion, uploadFile); fieldsLayout.setAlignItems(Alignment.CENTER); HorizontalLayout firstFields = new HorizontalLayout(tipoTickets, asunto); VerticalLayout buttonLayout = new VerticalLayout(createButton); - buttonLayout.setAlignItems(Alignment.END); + buttonLayout.setAlignItems(Alignment.START); buttonLayout.setMargin(true); add(new H2("Crear nuevo ticket"), firstFields, fieldsLayout, buttonLayout); diff --git a/src/main/java/mx/gob/jumapacelaya/views/login/LoginView.java b/src/main/java/mx/gob/jumapacelaya/views/login/LoginView.java index 38391f1..8f8e823 100644 --- a/src/main/java/mx/gob/jumapacelaya/views/login/LoginView.java +++ b/src/main/java/mx/gob/jumapacelaya/views/login/LoginView.java @@ -3,6 +3,7 @@ package mx.gob.jumapacelaya.views.login; 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; @@ -15,22 +16,29 @@ import mx.gob.jumapacelaya.services.UserService; @Route("login") @PageTitle("Login") @AnonymousAllowed -public class LoginView extends VerticalLayout implements BeforeEnterObserver { //}, ComponentEventListener { +public class LoginView extends VerticalLayout implements BeforeEnterObserver { private final LoginForm formularioLogin; - private static final String LOGIN_SUCCESS_URL = ""; // URL de redirección después del login exitoso - private final UserService userService; - private final RedmineClient redmineClient; public LoginView(UserService userService, RedmineClient redmineClient) { - addClassName("vista-login"); + + // Configuración de la vista + addClassName("login-rich-content"); setSizeFull(); - setAlignItems(Alignment.CENTER); - setJustifyContentMode(JustifyContentMode.CENTER); + 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/1024x768.png", "Logo JUMAPA"); + logo.addClassName("login-logo"); - // Imagen del logo - Image logo = new Image("images/NVO_JUMAPA.png", "Logo JUMAPA"); - logo.setWidth("300px"); // Configuración de i18n para el formulario de login LoginI18n i18n = LoginI18n.createDefault(); @@ -40,8 +48,12 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver { / i18nFormulario.setPassword("Contraseña"); i18nFormulario.setSubmit("Iniciar sesión"); i18n.setForm(i18nFormulario); - i18n.getErrorMessage().setTitle("Credenciales incorrectas"); - i18n.getErrorMessage().setMessage("El usuario o la contraseña son incorrectos, verifica tus credenciales."); + + // Configuración de los mensajes de error + LoginI18n.ErrorMessage i18nError = i18n.getErrorMessage(); + i18nError.setTitle("Credenciales incorrectas"); + i18nError.setMessage("El usuario o la contraseña son incorrectos, verifica tus credenciales."); + i18n.setErrorMessage(i18nError); // Configuración del formulario de login formularioLogin = new LoginForm(); @@ -49,13 +61,29 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver { / formularioLogin.setForgotPasswordButtonVisible(false); formularioLogin.setI18n(i18n); - // Añadir el listener del evento de login - //formularioLogin.addLoginListener(this); + // Crear un contenedor para el formulario + VerticalLayout loginFormContainer = new VerticalLayout(); + Image imageLogin = new Image("images/NVO_JUMAPA.png", "Login"); + imageLogin.setWidth("300px"); + loginFormContainer.add(imageLogin); + loginFormContainer.addClassName("login-form-container"); + loginFormContainer.add(formularioLogin); + loginFormContainer.setSizeUndefined(); + loginFormContainer.setPadding(false); + loginFormContainer.setMargin(false); + loginFormContainer.setAlignItems(Alignment.CENTER); + loginFormContainer.setJustifyContentMode(JustifyContentMode.CENTER); + loginFormContainer.getElement().getThemeList().add("dark"); - // Añadir componentes a la vista - add(logo, formularioLogin); - this.userService = userService; - this.redmineClient = redmineClient; + + + // 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 @@ -65,28 +93,4 @@ public class LoginView extends VerticalLayout implements BeforeEnterObserver { / formularioLogin.setError(true); } } - - // Manejar el evento de login - /*@Override - public void onComponentEvent(AbstractLogin.LoginEvent event) { - boolean authenticated = mx.gob.jumapacelaya.views.login.SecurityUtils.authenticate( - event.getUsername(), event.getPassword()); - - if (authenticated) { - RedmineUser user = userService.getAuthenticatedRedmineUser(); - if (user != null) { - RedmineUser myAccount = redmineClient.getMyAccount(user.getLogin()); - if (myAccount != null && !myAccount.getKey().isEmpty()) { - VaadinService.getCurrentRequest().getWrappedSession().setAttribute("myaccount", myAccount); - //UI.getCurrent().getPage().setLocation(LOGIN_SUCCESS_URL); - } //else { - // formularioLogin.setError(true); - //} - //} else { - // formularioLogin.setError(true); - } - } //else { - //formularioLogin.setError(true); - // } - }*/ } diff --git a/frontend/themes/soportet.iv1.2/login-rich-content.css b/src/main/resources/META-INF/resources/frontend/styles/login-rich-content.css similarity index 100% rename from frontend/themes/soportet.iv1.2/login-rich-content.css rename to src/main/resources/META-INF/resources/frontend/styles/login-rich-content.css diff --git a/src/main/resources/META-INF/resources/images/LOGO.40ANIV.png b/src/main/resources/META-INF/resources/images/LOGO.40ANIV.png new file mode 100644 index 0000000..9febf55 Binary files /dev/null and b/src/main/resources/META-INF/resources/images/LOGO.40ANIV.png differ