Clean code update 1 #1
@@ -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"));
|
||||||
|
|||||||
Reference in New Issue
Block a user