diff options
Diffstat (limited to 'WebInterface/NodeJSServer/src/modules/ui')
-rw-r--r-- | WebInterface/NodeJSServer/src/modules/ui/login-modal.js | 33 | ||||
-rw-r--r-- | WebInterface/NodeJSServer/src/modules/ui/modal.js | 12 |
2 files changed, 39 insertions, 6 deletions
diff --git a/WebInterface/NodeJSServer/src/modules/ui/login-modal.js b/WebInterface/NodeJSServer/src/modules/ui/login-modal.js index eeb98cb..cb1f2ac 100644 --- a/WebInterface/NodeJSServer/src/modules/ui/login-modal.js +++ b/WebInterface/NodeJSServer/src/modules/ui/login-modal.js @@ -1,11 +1,15 @@ import Modal from './modal.js'; +import '../hash.js'; export default class LoginModal extends Modal { - constructor(serverName) { - super('Login: ' + serverName); + constructor(serverName, serverClient) { + super(serverName); + this.serverName = serverName; + this.serverClient = serverClient; let passBox = document.createElement('div'); let nameBox = document.createElement('div'); + let sendBox = document.createElement('div'); let passwordLabel = document.createElement('label'); let passwordInput = document.createElement('input'); @@ -26,13 +30,38 @@ export default class LoginModal extends Modal { nameInput.autocomplete = 'on'; nameInput.placeholder = 'Name'; + let sendButton = document.createElement('button'); + sendButton.className = 'btn'; + sendButton.textContent = 'Login'; + sendButton.id = 'login-button'; + passBox.appendChild(passwordLabel); passBox.appendChild(passwordInput); nameBox.appendChild(nameLabel); nameBox.appendChild(nameInput); + sendBox.appendChild(sendButton); this.body.appendChild(passBox); this.body.appendChild(nameBox); + this.body.appendChild(sendBox); + + this.nameInput = nameInput; + this.passwordInput = passwordInput; + this.loginButton = sendButton; + + this.registerLoginBtn(); + } + + registerLoginBtn() { + this.loginButton.addEventListener('click', () => { + console.log('button pressed') + let userName = this.nameInput.value; + this.passwordInput.value.getHash() + .then((result) => { + this.serverClient.sendLogin(this.serverName, result, userName); + this.close(); + }); + }); } } diff --git a/WebInterface/NodeJSServer/src/modules/ui/modal.js b/WebInterface/NodeJSServer/src/modules/ui/modal.js index 31e6397..55e38bd 100644 --- a/WebInterface/NodeJSServer/src/modules/ui/modal.js +++ b/WebInterface/NodeJSServer/src/modules/ui/modal.js @@ -31,10 +31,14 @@ export default class Modal { }); this.bg.addEventListener('click', () => { - this.bg.classList.add('hidden'); - this.bg.addEventListener('transitionend', () => { - document.body.removeChild(this.bg); - }); + this.close(); + }); + } + + close() { + this.bg.classList.add('hidden'); + this.bg.addEventListener('transitionend', () => { + document.body.removeChild(this.bg); }); } |