poker-html-client
Version:
HTML client for online poker
51 lines (45 loc) • 1.86 kB
text/typescript
import { TableReload } from "../api/tableReload";
import { appConfig } from "../appconfig";
import * as authManager from "../authmanager";
declare var host: string;
export class AppReloadService {
public async getReload(tableId: number) {
const api = this.getApi();
return await api.getTableReload(tableId);
}
public startMonitoring(tableId: number) {
setInterval(() => this.checkTableReload(tableId), 5000);
}
private async checkTableReload(tableId: number) {
const reloadData = await this.getReload(tableId);
if (reloadData.emergencyReload) {
console.log("Emergency reload requested.");
const api = this.getApi();
// await api.confirmEmergencyReload(tableId);
window.location.replace("http://google.com/");
return;
}
if (reloadData.reloadRequired) {
console.log("Normal reload requested.");
if (appConfig.game.seatMode) {
const seatId = parseInt(authManager.login().replace("Игрок", ""), 10);
const propertyName = `seat${seatId}Reloaded`;
if (reloadData[propertyName] === false) {
console.log(`Reloading seat ${seatId}.`);
const api = this.getApi();
await api.confirmSeatReload(tableId, seatId);
location.reload();
}
}
if (appConfig.game.tablePreviewMode && !reloadData.tableReloaded) {
console.log("Reloading table.");
const api = this.getApi();
await api.confirmTableReload(tableId);
location.reload();
}
}
}
private getApi() {
return new TableReload(host);
}
}