mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-07-09 13:27:45 +00:00
feat: devWeb - update connected User list on new game page
This commit is contained in:
@@ -19,6 +19,7 @@ import jakarta.persistence.OneToMany;
|
|||||||
import jakarta.persistence.Table;
|
import jakarta.persistence.Table;
|
||||||
import jakarta.persistence.Temporal;
|
import jakarta.persistence.Temporal;
|
||||||
import jakarta.persistence.TemporalType;
|
import jakarta.persistence.TemporalType;
|
||||||
|
import jakarta.persistence.Transient;
|
||||||
import java.io.Serializable;
|
import java.io.Serializable;
|
||||||
import java.math.BigDecimal;
|
import java.math.BigDecimal;
|
||||||
import java.security.MessageDigest;
|
import java.security.MessageDigest;
|
||||||
@@ -65,6 +66,30 @@ public class User implements Serializable {
|
|||||||
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||||
private ArrayList<RecoveryPasswordToken> recoveryPasswordTokens;
|
private ArrayList<RecoveryPasswordToken> recoveryPasswordTokens;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private int nbPlayedGame;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private int nbWin;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private double winRate;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private int nbClicks;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private int nbRightClicks;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private double rightClickPercentRate;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private int nbRapidClicks;
|
||||||
|
|
||||||
|
@Transient
|
||||||
|
private double rapidClickPercentRate;
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Constructeur par défaut
|
* Constructeur par défaut
|
||||||
*/
|
*/
|
||||||
@@ -90,6 +115,15 @@ public class User implements Serializable {
|
|||||||
this.birth = birth;
|
this.birth = birth;
|
||||||
this.gender = gender;
|
this.gender = gender;
|
||||||
this.playedGames = new ArrayList<>();
|
this.playedGames = new ArrayList<>();
|
||||||
|
this.recoveryPasswordTokens = new ArrayList<>();
|
||||||
|
this.nbPlayedGame = 0;
|
||||||
|
this.nbWin = 0;
|
||||||
|
this.winRate = 0;
|
||||||
|
this.nbClicks = 0;
|
||||||
|
this.nbRightClicks = 0;
|
||||||
|
this.rightClickPercentRate = 0;
|
||||||
|
this.nbRapidClicks = 0;
|
||||||
|
this.rapidClickPercentRate = 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
@@ -102,7 +136,7 @@ public class User implements Serializable {
|
|||||||
* @param birth la date de naissance
|
* @param birth la date de naissance
|
||||||
* @param gender le genre
|
* @param gender le genre
|
||||||
*/
|
*/
|
||||||
public User(BigDecimal id, String username, String email, String password, Date birth, Gender gender, ArrayList<Player> playedGames) {
|
public User(BigDecimal id, String username, String email, String password, Date birth, Gender gender, ArrayList<Player> playedGames, ArrayList<RecoveryPasswordToken> recoveryPasswordToken) {
|
||||||
if (!isValidBirthDate(birth)){
|
if (!isValidBirthDate(birth)){
|
||||||
throw new IllegalArgumentException("La date de naissance n'est pas valide");
|
throw new IllegalArgumentException("La date de naissance n'est pas valide");
|
||||||
}
|
}
|
||||||
@@ -113,6 +147,15 @@ public class User implements Serializable {
|
|||||||
this.birth = birth;
|
this.birth = birth;
|
||||||
this.gender = gender;
|
this.gender = gender;
|
||||||
this.playedGames = playedGames;
|
this.playedGames = playedGames;
|
||||||
|
this.recoveryPasswordTokens = recoveryPasswordToken;
|
||||||
|
this.nbPlayedGame = playedGames.size();
|
||||||
|
this.nbWin = getNbWin();
|
||||||
|
this.winRate = getWinRate();
|
||||||
|
this.nbClicks = getNbClicks();
|
||||||
|
this.nbRightClicks = getNbRightClicks();
|
||||||
|
this.rightClickPercentRate = getRightClickPercentRate();
|
||||||
|
this.nbRapidClicks = getNbRapidClicks();
|
||||||
|
this.rapidClickPercentRate = getRapidClickPercentRate();
|
||||||
}
|
}
|
||||||
|
|
||||||
/**
|
/**
|
||||||
|
|||||||
@@ -12,6 +12,10 @@
|
|||||||
<thead>
|
<thead>
|
||||||
<tr>
|
<tr>
|
||||||
<th>Utilisateur</th>
|
<th>Utilisateur</th>
|
||||||
|
<th>Nombre parties jouées</th>
|
||||||
|
<th>Nombre de victoires</th>
|
||||||
|
<th>Clics corrects</th>
|
||||||
|
<th>Clics rapides</th>
|
||||||
<th>Action</th>
|
<th>Action</th>
|
||||||
</tr>
|
</tr>
|
||||||
</thead>
|
</thead>
|
||||||
@@ -60,12 +64,20 @@
|
|||||||
users.forEach(user => {
|
users.forEach(user => {
|
||||||
const trElement = document.createElement('tr');
|
const trElement = document.createElement('tr');
|
||||||
const tdElement = [
|
const tdElement = [
|
||||||
|
document.createElement('td'),
|
||||||
|
document.createElement('td'),
|
||||||
|
document.createElement('td'),
|
||||||
|
document.createElement('td'),
|
||||||
document.createElement('td'),
|
document.createElement('td'),
|
||||||
document.createElement('td')
|
document.createElement('td')
|
||||||
];
|
];
|
||||||
const buttonElement = document.createElement('button');
|
const buttonElement = document.createElement('button');
|
||||||
|
|
||||||
tdElement[0].textContent = user.username;
|
tdElement[0].textContent = user.username;
|
||||||
|
tdElement[1].textContent = user.nbPlayedGames;
|
||||||
|
tdElement[2].textContent = user.WinRate + '%';
|
||||||
|
tdElement[3].textContent = user.rightClickPercentRate + '%';
|
||||||
|
tdElement[4].textContent = user.rapidClickPercentRate + '%';
|
||||||
|
|
||||||
// If it's not the current user, we can display the button
|
// If it's not the current user, we can display the button
|
||||||
if (user.id !== <%= user.getId() %>) {
|
if (user.id !== <%= user.getId() %>) {
|
||||||
@@ -75,9 +87,13 @@
|
|||||||
// TODO Ajouter l'événement click
|
// TODO Ajouter l'événement click
|
||||||
}
|
}
|
||||||
|
|
||||||
tdElement[1].appendChild(buttonElement);
|
tdElement[5].appendChild(buttonElement);
|
||||||
trElement.appendChild(tdElement[0]);
|
trElement.appendChild(tdElement[0]);
|
||||||
trElement.appendChild(tdElement[1]);
|
trElement.appendChild(tdElement[1]);
|
||||||
|
trElement.appendChild(tdElement[2]);
|
||||||
|
trElement.appendChild(tdElement[3]);
|
||||||
|
trElement.appendChild(tdElement[4]);
|
||||||
|
trElement.appendChild(tdElement[5]);
|
||||||
|
|
||||||
tbodyElement.appendChild(trElement);
|
tbodyElement.appendChild(trElement);
|
||||||
});
|
});
|
||||||
|
|||||||
Reference in New Issue
Block a user