Clean code update 1 #1

Merged
nilzbu merged 8 commits from cq_1 into master 2025-07-13 16:42:28 +00:00
Showing only changes of commit e828e83991 - Show all commits

View File

@@ -10,7 +10,7 @@ import com.vaadin.flow.server.VaadinServletRequest;
import com.vaadin.flow.server.VaadinServletResponse; import com.vaadin.flow.server.VaadinServletResponse;
import de.nilzbu.mytimetracker.ui.view.MainView; import de.nilzbu.mytimetracker.ui.view.MainView;
import de.nilzbu.mytimetracker.ui.view.TimeEntryView; 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.annotation.security.PermitAll;
import jakarta.servlet.http.HttpServletRequest; import jakarta.servlet.http.HttpServletRequest;
import jakarta.servlet.http.HttpServletResponse; import jakarta.servlet.http.HttpServletResponse;
@@ -19,44 +19,46 @@ import org.springframework.security.core.context.SecurityContextHolder;
import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler; import org.springframework.security.web.authentication.logout.SecurityContextLogoutHandler;
@PermitAll @PermitAll
public class MainLayout extends AppLayout { public class MainLayout extends AppLayout {
public MainLayout() { public MainLayout() {
createHeader(); buildHeader();
} }
private void createHeader() { private void buildHeader() {
H1 logo = new H1("Time Tracker"); H1 title = new H1("Time Tracker");
logo.getStyle() title.getStyle()
.set("font-size", "var(--lumo-font-size-l)") .set("font-size", "var(--lumo-font-size-l)")
.set("margin", "0"); .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 bookingsLink = new RouterLink("Bookings", TimeEntryView.class);
RouterLink userAdminView = new RouterLink("Admin", UserAdminView.class); RouterLink adminLink = new RouterLink("Admin", UserManagementView.class);
homeLink.getStyle().set("margin-left", "2em");
dashboardLink.getStyle().set("margin-left", "2em");
bookingsLink.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); HorizontalLayout headerLayout = new HorizontalLayout(
header.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER); title, dashboardLink, bookingsLink, adminLink, logoutButton
header.setWidthFull(); );
header.setPadding(true); headerLayout.setDefaultVerticalComponentAlignment(FlexComponent.Alignment.CENTER);
header.setSpacing(true); headerLayout.setWidthFull();
headerLayout.setPadding(true);
headerLayout.setSpacing(true);
addToNavbar(header); addToNavbar(headerLayout);
} }
private void handleLogout() { private void performLogout() {
HttpServletRequest request = VaadinServletRequest.getCurrent().getHttpServletRequest(); HttpServletRequest request = VaadinServletRequest.getCurrent().getHttpServletRequest();
HttpServletResponse response = VaadinServletResponse.getCurrent().getHttpServletResponse(); HttpServletResponse response = VaadinServletResponse.getCurrent().getHttpServletResponse();
Authentication auth = SecurityContextHolder.getContext().getAuthentication(); Authentication authentication = SecurityContextHolder.getContext().getAuthentication();
if (auth != null) { if (authentication != null) {
new SecurityContextLogoutHandler().logout(request, response, auth); new SecurityContextLogoutHandler().logout(request, response, authentication);
} }
getUI().ifPresent(ui -> ui.getPage().setLocation("/login")); getUI().ifPresent(ui -> ui.getPage().setLocation("/login"));