summaryrefslogtreecommitdiff
path: root/src/renderer/gameserver/serverView
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/gameserver/serverView')
-rw-r--r--src/renderer/gameserver/serverView/controller.ts50
-rw-r--r--src/renderer/gameserver/serverView/info.ts78
-rw-r--r--src/renderer/gameserver/serverView/preferences.ts95
-rw-r--r--src/renderer/gameserver/serverView/screenshots.ts80
-rw-r--r--src/renderer/gameserver/serverView/serverPage.ts19
5 files changed, 165 insertions, 157 deletions
diff --git a/src/renderer/gameserver/serverView/controller.ts b/src/renderer/gameserver/serverView/controller.ts
index 412033c..5e181ca 100644
--- a/src/renderer/gameserver/serverView/controller.ts
+++ b/src/renderer/gameserver/serverView/controller.ts
@@ -4,33 +4,33 @@ import { ServerInfoPage } from "./info";
import { GameServerPage } from "./serverPage";
import { ServerScreenshotPage } from "./screenshots";
-export type ServerSubPages = 'INFO' | 'SCREENSHOTS' | 'PREF' | 'UNKNOWN';
+export type ServerSubPages = "INFO" | "SCREENSHOTS" | "PREF" | "UNKNOWN";
export class PageController {
- unknownPage: GameServerPage;
- infoPage: ServerInfoPage;
- scrnshtPage: ServerScreenshotPage;
- prefPage: ServerPreferencesPage;
+ 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);
- }
+ 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;
+ 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;
}
-} \ No newline at end of file
+ const htmlElement = document.createElement("div");
+ htmlElement.appendChild(page.getPage());
+ updateLoginTextElement(this.server.profile.address);
+ return htmlElement;
+ }
+}
diff --git a/src/renderer/gameserver/serverView/info.ts b/src/renderer/gameserver/serverView/info.ts
index c72286e..40c7e03 100644
--- a/src/renderer/gameserver/serverView/info.ts
+++ b/src/renderer/gameserver/serverView/info.ts
@@ -3,46 +3,48 @@ import { shell } from "electron";
import { GameServerPage } from "./serverPage";
export class ServerInfoPage extends GameServerPage {
+ public getPage(): HTMLElement {
+ const content = document.createElement("div");
+ content.classList.add("infoServerPage");
- public getPage(): HTMLElement {
- const content = document.createElement('div');
- content.classList.add("infoServerPage");
+ const title = document.createElement("div");
+ title.classList.add("title");
+ title.innerText = this.server.name;
+ content.appendChild(title);
- const title = document.createElement('div');
- title.classList.add("title");
- title.innerText = this.server.name;
- content.appendChild(title);
+ const socialContainer = document.createElement("div");
+ socialContainer.classList.add("socialContainer");
+ setTimeout(() => {
+ this.server.socialLinks.forEach((link) => {
+ socialContainer.appendChild(link.getHTML());
+ });
+ }, 5);
+ content.appendChild(socialContainer);
- const socialContainer = document.createElement('div');
- socialContainer.classList.add("socialContainer");
- setTimeout(() => {
- this.server.socialLinks.forEach((link) => {
- socialContainer.appendChild(link.getHTML());
- });
- }, 5);
- content.appendChild(socialContainer);
-
- const shrtDsrption = document.createElement('div');
- shrtDsrption.classList.add("shortDescription");
- shrtDsrption.innerText = this.server.shortDescription;
- content.appendChild(shrtDsrption);
- if (this.server.newsLatestPage && this.server.newsLatestPage != null) {
- const latestNews = document.createElement('div');
- latestNews.classList.add("news");
- content.appendChild(latestNews);
- News.get(this.server.newsLatestPage.url, this.server.newsLatestPage.type).then((result: string) => {
- latestNews.innerHTML = result;
- const aTags = latestNews.getElementsByTagName("a");
- for (var i = 0; i < aTags.length; i++) {
- const href = aTags[i].href.toString();
- aTags[i].addEventListener('click', () => {
- shell.openExternal(href);
- });
- aTags[i].href = "#";
- }
- });
+ const shrtDsrption = document.createElement("div");
+ shrtDsrption.classList.add("shortDescription");
+ shrtDsrption.innerText = this.server.shortDescription;
+ content.appendChild(shrtDsrption);
+ if (this.server.newsLatestPage && this.server.newsLatestPage != null) {
+ const latestNews = document.createElement("div");
+ latestNews.classList.add("news");
+ content.appendChild(latestNews);
+ News.get(
+ this.server.newsLatestPage.url,
+ this.server.newsLatestPage.type
+ ).then((result: string) => {
+ latestNews.innerHTML = result;
+ const aTags = latestNews.getElementsByTagName("a");
+ for (var i = 0; i < aTags.length; i++) {
+ const href = aTags[i].href.toString();
+ aTags[i].addEventListener("click", () => {
+ shell.openExternal(href);
+ });
+ aTags[i].href = "#";
}
-
- return content;
+ });
}
-} \ No newline at end of file
+
+ return content;
+ }
+}
diff --git a/src/renderer/gameserver/serverView/preferences.ts b/src/renderer/gameserver/serverView/preferences.ts
index 4697efe..b7a5255 100644
--- a/src/renderer/gameserver/serverView/preferences.ts
+++ b/src/renderer/gameserver/serverView/preferences.ts
@@ -2,58 +2,65 @@ import GameServerProfile from "../profile";
import { GameServerPage } from "./serverPage";
export class ServerPreferencesPage extends GameServerPage {
+ getPage(): HTMLElement {
+ const content = document.createElement("div");
+ content.classList.add("preferencesServerPage");
- getPage(): HTMLElement {
- const content = document.createElement('div');
- content.classList.add("preferencesServerPage");
+ const title = document.createElement("h2");
+ title.innerText = `Preferences for ${this.server.name}`;
+ content.appendChild(title);
- const title = document.createElement('h2');
- title.innerText = `Preferences for ${this.server.name}`;
- content.appendChild(title);
+ const loginSection = document.createElement("div");
+ loginSection.classList.add("loginSection");
+ content.appendChild(loginSection);
- const loginSection = document.createElement('div');
- loginSection.classList.add("loginSection");
- content.appendChild(loginSection);
+ const loginUsernameLabel = document.createElement("label");
+ loginUsernameLabel.innerText = "Username";
+ const loginUsername = document.createElement("input") as HTMLInputElement;
+ loginUsername.value = localStorage.getItem(
+ "2_username_" + this.server.profile.address
+ );
+ loginUsernameLabel.appendChild(loginUsername);
- const loginUsernameLabel = document.createElement('label');
- loginUsernameLabel.innerText = "Username";
- const loginUsername = document.createElement('input') as HTMLInputElement;
- loginUsername.value = localStorage.getItem("2_username_" + this.server.profile.address);
- loginUsernameLabel.appendChild(loginUsername);
+ const loginPinLabel = document.createElement("label");
+ loginPinLabel.innerText = "Password";
+ const loginPin = document.createElement("input") as HTMLInputElement;
+ loginPin.type = "password";
+ loginPin.value = localStorage.getItem(
+ "2_pin_" + this.server.profile.address
+ );
+ loginPinLabel.appendChild(loginPin);
- const loginPinLabel = document.createElement('label');
- loginPinLabel.innerText = "Password";
- const loginPin = document.createElement('input') as HTMLInputElement;
- loginPin.type = "password";
- loginPin.value = localStorage.getItem("2_pin_" + this.server.profile.address);
- loginPinLabel.appendChild(loginPin);
+ const saveBtn = document.createElement("button") as HTMLButtonElement;
+ saveBtn.innerText = "save";
- const saveBtn = document.createElement('button') as HTMLButtonElement;
- saveBtn.innerText = "save";
+ saveBtn.addEventListener("click", () => {
+ localStorage.setItem(
+ "2_username_" + this.server.profile.address,
+ loginUsername.value
+ );
+ localStorage.setItem(
+ "2_pin_" + this.server.profile.address,
+ loginPin.value
+ );
+ updateLoginTextElement(this.server.profile.address);
+ });
- saveBtn.addEventListener('click', () => {
- localStorage.setItem("2_username_" + this.server.profile.address, loginUsername.value);
- localStorage.setItem("2_pin_" + this.server.profile.address, loginPin.value);
- updateLoginTextElement(this.server.profile.address);
- });
-
-
- loginSection.appendChild(loginUsernameLabel);
- loginSection.appendChild(loginPinLabel);
- loginSection.appendChild(saveBtn);
-
- return content;
- }
+ loginSection.appendChild(loginUsernameLabel);
+ loginSection.appendChild(loginPinLabel);
+ loginSection.appendChild(saveBtn);
+ return content;
+ }
}
export function updateLoginTextElement(serverAddress: string): void {
- const account = localStorage.getItem("2_username_" + serverAddress);
- const pin = localStorage.getItem("2_pin_" + serverAddress);
- const element = document.getElementById('LoginText');
- if (account && pin) {
- element.innerHTML = `Logged in as <b>${account}</b>`;
- } else {
- element.innerHTML = "Automatic login not set up";
- }
-} \ No newline at end of file
+ const account = localStorage.getItem("2_username_" + serverAddress);
+ const pin = localStorage.getItem("2_pin_" + serverAddress);
+ const element = document.getElementById("LoginText");
+ if (account && pin) {
+ element.innerHTML = `Logged in as <b>${account}</b>`;
+ } else {
+ element.innerHTML = "Automatic login not set up";
+ }
+}
diff --git a/src/renderer/gameserver/serverView/screenshots.ts b/src/renderer/gameserver/serverView/screenshots.ts
index 2d6fc62..5af8391 100644
--- a/src/renderer/gameserver/serverView/screenshots.ts
+++ b/src/renderer/gameserver/serverView/screenshots.ts
@@ -2,54 +2,56 @@ import { ipcRenderer, shell } from "electron";
import { GameServerPage } from "./serverPage";
export class ServerScreenshotPage extends GameServerPage {
-
getPage(): HTMLElement {
- const screenshotContainer = document.createElement('div');
+ const screenshotContainer = document.createElement("div");
screenshotContainer.classList.add("screenshotsContainer");
screenshotContainer.id = "screenshots";
- ipcRenderer.send('getScreenshots', this.server.profile.address);
+ ipcRenderer.send("getScreenshots", this.server.profile.address);
return screenshotContainer;
}
}
-ipcRenderer.on('getScreenshots', (event: any, data: { dir: string, screenshots: string[] }) => {
- console.log(data)
- const screenshots = document.getElementById('screenshots');
- if (screenshots) {
- // Display screenshots if that tab is open
- if (data.screenshots.length !== 0) {
- data.screenshots.forEach((fileName: string) => {
- const screenshot = document.createElement("div");
- screenshot.classList.add("screenshot");
- screenshots.appendChild(screenshot);
- const img = document.createElement("img");
- img.src = data.dir + fileName;
- screenshot.appendChild(img);
-
- // const text = document.createElement("span");
- // text.innerText = fileName;
- // screenshot.appendChild(text);
- screenshot.addEventListener('dragstart', (event) => {
- event.preventDefault()
- ipcRenderer.send('dragFileOut', data.dir + fileName)
- })
-
+ipcRenderer.on(
+ "getScreenshots",
+ (event: any, data: { dir: string; screenshots: string[] }) => {
+ console.log(data);
+ const screenshots = document.getElementById("screenshots");
+ if (screenshots) {
+ // Display screenshots if that tab is open
+ if (data.screenshots.length !== 0) {
+ data.screenshots.forEach((fileName: string) => {
+ const screenshot = document.createElement("div");
+ screenshot.classList.add("screenshot");
+ screenshots.appendChild(screenshot);
+ const img = document.createElement("img");
+ img.src = data.dir + fileName;
+ screenshot.appendChild(img);
+
+ // const text = document.createElement("span");
+ // text.innerText = fileName;
+ // screenshot.appendChild(text);
+ screenshot.addEventListener("dragstart", (event) => {
+ event.preventDefault();
+ ipcRenderer.send("dragFileOut", data.dir + fileName);
+ });
+ });
+ } else {
+ const nothingHere = document.createElement("p");
+ nothingHere.classList.add("nothingHere");
+ nothingHere.innerText =
+ "There is nothing here, yet. Make some screenshots in Game and come back here. The default key for snaping screenshots is 'P'.";
+
+ screenshots.appendChild(nothingHere);
+ }
+
+ const openFolderButton = document.createElement("button");
+ openFolderButton.innerText = "Open folder to see all";
+ openFolderButton.addEventListener("click", () => {
+ shell.openItem(data.dir);
});
- } else {
- const nothingHere = document.createElement("p");
- nothingHere.classList.add("nothingHere");
- nothingHere.innerText = "There is nothing here, yet. Make some screenshots in Game and come back here. The default key for snaping screenshots is 'P'."
-
- screenshots.appendChild(nothingHere);
+ screenshots.appendChild(openFolderButton);
}
-
- const openFolderButton = document.createElement('button');
- openFolderButton.innerText = "Open folder to see all";
- openFolderButton.addEventListener('click', () => {
- shell.openItem(data.dir);
- });
- screenshots.appendChild(openFolderButton);
}
-})
+);
diff --git a/src/renderer/gameserver/serverView/serverPage.ts b/src/renderer/gameserver/serverView/serverPage.ts
index 91556b0..622f633 100644
--- a/src/renderer/gameserver/serverView/serverPage.ts
+++ b/src/renderer/gameserver/serverView/serverPage.ts
@@ -1,14 +1,11 @@
import GameServer from "../server";
export class GameServerPage {
-
- constructor(protected server: GameServer) {
-
- }
- getPage(): HTMLElement {
- const content = document.createElement('div');
- content.classList.add("unknownServerPage");
- content.innerText = `Unknown page for${this.server.name}`;
- return content;
- };
-} \ No newline at end of file
+ constructor(protected server: GameServer) {}
+ getPage(): HTMLElement {
+ const content = document.createElement("div");
+ content.classList.add("unknownServerPage");
+ content.innerText = `Unknown page for${this.server.name}`;
+ return content;
+ }
+}