th {{ st.tr["Result"] }}
tbody
tr(
- v-for="g in sortedGames"
+ v-for="g in sortedGames()"
@click="$emit('show-game',g)"
:class="{'my-turn': !!g.myTurn}"
)
}
});
},
- computed: {
+ methods: {
+ player_s: function(g) {
+ if (this.showBoth)
+ return (
+ (g.players[0].name || "@nonymous") +
+ " - " +
+ (g.players[1].name || "@nonymous")
+ );
+ if (
+ this.st.user.sid == g.players[0].sid ||
+ this.st.user.id == g.players[0].id
+ )
+ return g.players[1].name || "@nonymous";
+ return g.players[0].name || "@nonymous";
+ },
sortedGames: function() {
// Show in order: it's my turn, running games, completed games
let minCreated = Number.MAX_SAFE_INTEGER;
const deltaCreated = maxCreated - minCreated;
return remGames.sort((g1, g2) => {
return (
- g2.priority - g1.priority + (g2.created - g1.created) / deltaCreated
+ g2.priority - g1.priority +
+ // Modulate with creation time (value in ]0,1[)
+ (g2.created - g1.created) / (deltaCreated + 1)
);
});
},
- },
- methods: {
- player_s: function(g) {
- if (this.showBoth)
- return (
- (g.players[0].name || "@nonymous") +
- " - " +
- (g.players[1].name || "@nonymous")
- );
- if (
- this.st.user.sid == g.players[0].sid ||
- this.st.user.id == g.players[0].uid
- )
- return g.players[1].name || "@nonymous";
- return g.players[0].name || "@nonymous";
- },
scoreClass: function(g) {
if (g.score == "*" || !g.myColor) return {};
// Ok it's my finished game: determine if I won, drew or lost.
if (
// My game ?
game.players.some(p =>
- p.sid == this.st.user.sid ||
- p.uid == this.st.user.id
+ p.sid == this.st.user.sid || p.id == this.st.user.id
)
) {
const message =
GameStorage.remove(game.id, afterDelete);
else {
const mySide =
- game.players[0].uid == this.st.user.id
+ game.players[0].id == this.st.user.id
? "White"
: "Black";
game["deletedBy" + mySide] = true;