mirror of
https://github.com/kmitresse/Cards-Rush.git
synced 2026-05-13 17:11:49 +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.Temporal;
|
||||
import jakarta.persistence.TemporalType;
|
||||
import jakarta.persistence.Transient;
|
||||
import java.io.Serializable;
|
||||
import java.math.BigDecimal;
|
||||
import java.security.MessageDigest;
|
||||
@@ -65,6 +66,30 @@ public class User implements Serializable {
|
||||
@OneToMany(mappedBy = "user", cascade = CascadeType.ALL, fetch = FetchType.LAZY)
|
||||
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
|
||||
*/
|
||||
@@ -90,6 +115,15 @@ public class User implements Serializable {
|
||||
this.birth = birth;
|
||||
this.gender = gender;
|
||||
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 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)){
|
||||
throw new IllegalArgumentException("La date de naissance n'est pas valide");
|
||||
}
|
||||
@@ -113,6 +147,15 @@ public class User implements Serializable {
|
||||
this.birth = birth;
|
||||
this.gender = gender;
|
||||
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>
|
||||
<tr>
|
||||
<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>
|
||||
</tr>
|
||||
</thead>
|
||||
@@ -60,12 +64,20 @@
|
||||
users.forEach(user => {
|
||||
const trElement = document.createElement('tr');
|
||||
const tdElement = [
|
||||
document.createElement('td'),
|
||||
document.createElement('td'),
|
||||
document.createElement('td'),
|
||||
document.createElement('td'),
|
||||
document.createElement('td'),
|
||||
document.createElement('td')
|
||||
];
|
||||
const buttonElement = document.createElement('button');
|
||||
|
||||
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 (user.id !== <%= user.getId() %>) {
|
||||
@@ -75,11 +87,15 @@
|
||||
// TODO Ajouter l'événement click
|
||||
}
|
||||
|
||||
tdElement[1].appendChild(buttonElement);
|
||||
tdElement[5].appendChild(buttonElement);
|
||||
trElement.appendChild(tdElement[0]);
|
||||
trElement.appendChild(tdElement[1]);
|
||||
trElement.appendChild(tdElement[2]);
|
||||
trElement.appendChild(tdElement[3]);
|
||||
trElement.appendChild(tdElement[4]);
|
||||
trElement.appendChild(tdElement[5]);
|
||||
|
||||
tbodyElement.appendChild(trElement);
|
||||
});
|
||||
}
|
||||
</script>
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user