summaryrefslogtreecommitdiff
path: root/src/renderer/gameserver/serverView/preferences.ts
diff options
context:
space:
mode:
Diffstat (limited to 'src/renderer/gameserver/serverView/preferences.ts')
-rw-r--r--src/renderer/gameserver/serverView/preferences.ts59
1 files changed, 59 insertions, 0 deletions
diff --git a/src/renderer/gameserver/serverView/preferences.ts b/src/renderer/gameserver/serverView/preferences.ts
new file mode 100644
index 0000000..4697efe
--- /dev/null
+++ b/src/renderer/gameserver/serverView/preferences.ts
@@ -0,0 +1,59 @@
+import GameServerProfile from "../profile";
+import { GameServerPage } from "./serverPage";
+
+export class ServerPreferencesPage extends GameServerPage {
+
+ 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 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 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";
+
+ 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;
+ }
+
+}
+
+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