From e828e83991f85220726fa88d9fafe702389c53a3 Mon Sep 17 00:00:00 2001 From: Nils Burghardt Date: Sun, 13 Jul 2025 18:34:31 +0200 Subject: [PATCH] upgrade clean code MainLayout --- .../mytimetracker/ui/layout/MainLayout.java | 44 ++++++++++--------- 1 file changed, 23 insertions(+), 21 deletions(-) diff --git a/src/main/java/de/nilzbu/mytimetracker/ui/layout/MainLayout.java b/src/main/java/de/nilzbu/mytimetracker/ui/layout/MainLayout.java index 2c70de2..6897b22 100644 --- a/src/main/java/de/nilzbu/mytimetracker/ui/layout/MainLayout.java +++ b/src/main/java/de/nilzbu/mytimetracker/ui/layout/MainLayout.java @@ -10,7 +10,7 @@ import com.vaadin.flow.server.VaadinServletRequest; import com.vaadin.flow.server.VaadinServletResponse; import de.nilzbu.mytimetracker.ui.view.MainView; import de.nilzbu.mytimetracker.ui.view.TimeEntryView; -import de.nilzbu.mytimetracker.ui.view.UserAdminView; +import de.nilzbu.mytimetracker.ui.view.UserManagementView; import jakarta.annotation.security.PermitAll; import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletResponse; @@ -19,44 +19,46 @@ import org.springframework.security.core.context.SecurityContextHolder; import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; @PermitAll - public class MainLayout extends AppLayout { public MainLayout() { - createHeader(); + buildHeader(); } - private void createHeader() { - H1 logo = new H1("Time Tracker"); - logo.getStyle() + private void buildHeader() { + H1 title = new H1("Time Tracker"); + title.getStyle() .set("font-size", "var(--lumo-font-size-l)") .set("margin", "0"); - RouterLink homeLink = new RouterLink("Dashboard", MainView.class); + RouterLink dashboardLink = new RouterLink("Dashboard", MainView.class); RouterLink bookingsLink = new RouterLink("Bookings", TimeEntryView.class); - RouterLink userAdminView = new RouterLink("Admin", UserAdminView.class); - homeLink.getStyle().set("margin-left", "2em"); + RouterLink adminLink = new RouterLink("Admin", UserManagementView.class); + + dashboardLink.getStyle().set("margin-left", "2em"); bookingsLink.getStyle().set("margin-left", "2em"); - userAdminView.getStyle().set("margin-left", "2em"); + adminLink.getStyle().set("margin-left", "2em"); - Button logoutButton = new Button("Logout", event -> handleLogout()); + Button logoutButton = new Button("Logout", event -> performLogout()); - HorizontalLayout header = new HorizontalLayout(logo, homeLink, bookingsLink, userAdminView, logoutButton); - header.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER); - header.setWidthFull(); - header.setPadding(true); - header.setSpacing(true); + HorizontalLayout headerLayout = new HorizontalLayout( + title, dashboardLink, bookingsLink, adminLink, logoutButton + ); + headerLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER); + headerLayout.setWidthFull(); + headerLayout.setPadding(true); + headerLayout.setSpacing(true); - addToNavbar(header); + addToNavbar(headerLayout); } - private void handleLogout() { + private void performLogout() { HttpServletRequest request = VaadinServletRequest.getCurrent().getHttpServletRequest(); HttpServletResponse response = VaadinServletResponse.getCurrent().getHttpServletResponse(); - Authentication auth = SecurityContextHolder.getContext().getAuthentication(); + Authentication authentication = SecurityContextHolder.getContext().getAuthentication(); - if (auth != null) { - new SecurityContextLogoutHandler().logout(request, response, auth); + if (authentication != null) { + new SecurityContextLogoutHandler().logout(request, response, authentication); } getUI().ifPresent(ui -> ui.getPage().setLocation("/login"));