blob: 412033cf7126484cb6f5ad69e46829411e6755df (
plain) (
blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
|
import GameServer from "../server";
import { updateLoginTextElement, ServerPreferencesPage } from "./preferences";
import { ServerInfoPage } from "./info";
import { GameServerPage } from "./serverPage";
import { ServerScreenshotPage } from "./screenshots";
export type ServerSubPages = 'INFO' | 'SCREENSHOTS' | 'PREF' | 'UNKNOWN';
export class PageController {
unknownPage: GameServerPage;
infoPage: ServerInfoPage;
scrnshtPage: ServerScreenshotPage;
prefPage: ServerPreferencesPage;
constructor(private server: GameServer) {
this.unknownPage = new GameServerPage(server);
this.infoPage = new ServerInfoPage(server);
this.scrnshtPage = new ServerScreenshotPage(server);
this.prefPage = new ServerPreferencesPage(server);
}
getPage(type: ServerSubPages): HTMLElement {
let page: GameServerPage = this.unknownPage;
if (type == "INFO") {
page = this.infoPage;
} else if (type == "SCREENSHOTS") {
page = this.scrnshtPage;
} else if (type == "PREF") {
page = this.prefPage;
}
const htmlElement = document.createElement('div');
htmlElement.appendChild(page.getPage());
updateLoginTextElement(this.server.profile.address);
return htmlElement;
}
}
|