mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-05-14 01:21:49 +00:00
feat(DevWeb): Remove Main menu and change routing in navbar
This commit is contained in:
@@ -1,69 +0,0 @@
|
||||
/*
|
||||
* MainMenuServlet.java, 20/03/2024
|
||||
* UPPA M1 TI 2023-2024
|
||||
* Pas de copyright, aucun droits
|
||||
*/
|
||||
|
||||
package uppa.project.web.servlet;
|
||||
|
||||
import jakarta.servlet.ServletException;
|
||||
import jakarta.servlet.annotation.WebServlet;
|
||||
import jakarta.servlet.http.HttpServlet;
|
||||
import jakarta.servlet.http.HttpServletRequest;
|
||||
import jakarta.servlet.http.HttpServletResponse;
|
||||
import jakarta.servlet.http.HttpSession;
|
||||
import java.io.IOException;
|
||||
import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import java.util.Set;
|
||||
import uppa.project.database.pojo.Game;
|
||||
import uppa.project.database.pojo.Player;
|
||||
import uppa.project.database.pojo.User;
|
||||
|
||||
@WebServlet(name = "mainMenuServlet", value = "/main-menu")
|
||||
public class MainMenuServlet extends HttpServlet {
|
||||
|
||||
public void init() {
|
||||
}
|
||||
|
||||
public void doGet(HttpServletRequest request, HttpServletResponse response) throws IOException, ServletException {
|
||||
User user = (User) request.getSession().getAttribute("user");
|
||||
|
||||
request.setAttribute("current", "main-menu");
|
||||
manageNewGame(request, response, user);
|
||||
manageStatistics(request, response, user);
|
||||
request.getRequestDispatcher("/WEB-INF/pages/main-menu.jsp").forward(request, response);
|
||||
}
|
||||
|
||||
public void destroy() {
|
||||
}
|
||||
|
||||
private void manageNewGame(HttpServletRequest request, HttpServletResponse response, User sessionUser) throws IOException, ServletException {
|
||||
List<User> connectedUsers = new ArrayList<>();
|
||||
Set<HttpSession> loginsSessions = (Set<HttpSession>) request.getServletContext().getAttribute("loginSession");
|
||||
|
||||
if (loginsSessions == null) {
|
||||
throw new RuntimeException("No login sessions found");
|
||||
}
|
||||
for(HttpSession session : loginsSessions) {
|
||||
User connectedUser = (User) session.getAttribute("user");
|
||||
if(session.getServletContext().getContextPath().equals(request.getServletContext().getContextPath()) && connectedUser != null && !connectedUser.equals(sessionUser)) {
|
||||
connectedUsers.add(connectedUser);
|
||||
}
|
||||
}
|
||||
connectedUsers.remove(sessionUser);
|
||||
request.setAttribute("connectedUsers", connectedUsers);
|
||||
}
|
||||
|
||||
private void manageStatistics(HttpServletRequest request, HttpServletResponse response, User sessionUser) throws IOException, ServletException {
|
||||
List<Game> games = new ArrayList<>();
|
||||
if (sessionUser != null && sessionUser.getPlayedGames() != null) {
|
||||
for (Player player : sessionUser.getPlayedGames()) {
|
||||
Game game = player.getGame();
|
||||
game.sortPlayersByScore();
|
||||
games.add(game);
|
||||
}
|
||||
}
|
||||
request.setAttribute("games", games);
|
||||
}
|
||||
}
|
||||
@@ -1,21 +0,0 @@
|
||||
<%@ page contentType="text/html; charset=UTF-8" pageEncoding="UTF-8" %>
|
||||
<%@taglib prefix="layout" tagdir="/WEB-INF/tags/layouts" %>
|
||||
<%@taglib prefix="component" tagdir="/WEB-INF/tags/components" %>
|
||||
<%@taglib prefix="form" tagdir="/WEB-INF/tags/forms" %>
|
||||
|
||||
<layout:base title="Menu principal">
|
||||
<component:hero>
|
||||
<div class="columns is-centered">
|
||||
<div class="column is-5-tablet is-5-desktop is-5-widescreen">
|
||||
<component:card title="Nouvelle partie">
|
||||
<form:new-game/>
|
||||
</component:card>
|
||||
</div>
|
||||
<div class="column is-6-tablet is-6-desktop is-6-widescreen">
|
||||
<component:card title="Utilisateurs connectés">
|
||||
<component:connected-user-list/>
|
||||
</component:card>
|
||||
</div>
|
||||
</div>
|
||||
</component:hero>
|
||||
</layout:base>
|
||||
@@ -3,10 +3,22 @@
|
||||
|
||||
<nav class="navbar is-fixed-top" role="navigation" aria-label="main navigation">
|
||||
<div class="navbar-brand">
|
||||
<% if (session.getAttribute("user") != null) { %>
|
||||
|
||||
<a class="navbar-item" href="${pageContext.request.contextPath}/lobby">
|
||||
<img src="${pageContext.request.contextPath}/static/img/CardsRushLogoBlack.svg" height="260">
|
||||
</a>
|
||||
|
||||
<% } else { %>
|
||||
|
||||
<a class="navbar-item" href="${pageContext.request.contextPath}/">
|
||||
<img src="${pageContext.request.contextPath}/static/img/CardsRushLogoBlack.svg" height="260">
|
||||
</a>
|
||||
|
||||
<% } %>
|
||||
|
||||
|
||||
|
||||
<a role="button" class="navbar-burger" aria-label="menu" aria-expanded="false" data-target="navbarMenu">
|
||||
<span aria-hidden="true"></span>
|
||||
<span aria-hidden="true"></span>
|
||||
|
||||
@@ -15,8 +15,11 @@
|
||||
</filter>
|
||||
<filter-mapping>
|
||||
<filter-name>AuthenticationFilter</filter-name>
|
||||
<url-pattern>/main-menu</url-pattern>
|
||||
<!-- <url-pattern>/main-menu</url-pattern>-->
|
||||
<url-pattern>/lobby</url-pattern>
|
||||
<url-pattern>/profile</url-pattern>
|
||||
<url-pattern>/new</url-pattern>
|
||||
<url-pattern>/join</url-pattern>
|
||||
<url-pattern>/game</url-pattern>
|
||||
<url-pattern>/logout</url-pattern>
|
||||
</filter-mapping>
|
||||
|
||||
Reference in New Issue
Block a user