webclient/js/GUI/Screen/Hall.js

51 lines
1.2 KiB
JavaScript
Raw Normal View History

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 opponent from Room;
import StatusHandler;
import Time;
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.entries.insert(
o.from,
Time.timestamp({vs: opponent(o.from), yourTurn: 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();
}