+ this.focus = (document.visibilityState == "visible");
+ if (!this.focus && !!this.rematchOffer) {
+ this.rematchOffer = "";
+ this.send("rematchoffer", { data: false });
+ // Do not remove rematch offer from (local) storage
+ }
+ this.send(this.focus ? "getfocus" : "losefocus");
+ },
+ onFocus: function() {
+ this.focus = true;
+ this.send("getfocus");
+ },
+ onBlur: function() {
+ this.focus = false;
+ if (!!this.rematchOffer) {
+ this.rematchOffer = "";
+ this.send("rematchoffer", { data: false });
+ }
+ this.send("losefocus");
+ },
+ isLargeScreen: function() {
+ return window.innerWidth >= 500;
+ },
+ btnTooltipClass: function(thing) {
+ let append = {};
+ if (!!thing) append = { [thing + "-" + this[thing + "Offer"]]: true };
+ return (
+ Object.assign(
+ { tooltip: !("ontouchstart" in window) },
+ append
+ )