webclient/js/GUI/Screen/Hall.js

46 lines
1.1 KiB
JavaScript

import * as Dom from UnitJS.Dom;
import Games;
import I18n;
import * as Players from GUI.Screen.Hall.Players;
import * as GamesGUI from GUI.Screen.Hall.Games;
import Messaging;
import StatusHandler;
return {
init: init
};
function init() {
Messaging.addEventListener(["Okaeri"], function(o) {
refresh();
});
Messaging.addEventListener(["Welcome"], function(o) {
refresh();
});
Messaging.addEventListener(["LogIn"], function(o) {
refresh();
});
Messaging.addEventListener(["LogOut"], function(o) {
// Just in case there was a game proposal from that player, in which case the game proposal's ID is the player's ID
Games.entries.remove(o.from);
refresh();
});
Messaging.addEventListener(["Relay", "Invitation"], function(o) {
StatusHandler.set("🎴");
Games.proposal(o.from, true);
GamesGUI.refresh();
});
Messaging.addEventListener(["Relay", "Answer"], function(o) {
Games.entries.remove(o.from);
GamesGUI.refresh();
});
Messaging.addEventListener(["Game"], function(o) {
GamesGUI.refresh();
});
}
function refresh() {
Players.refresh();
GamesGUI.refresh();
}