| @@ -483,6 +483,54 @@ | |||
| "open": "^6.4.0", | |||
| "webframe": "^0.9.0", | |||
| "ws": "^7.1.0" | |||
| }, | |||
| "dependencies": { | |||
| "async-limiter": { | |||
| "version": "1.0.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "colors": { | |||
| "version": "1.3.3", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "is-wsl": { | |||
| "version": "1.1.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "minimist": { | |||
| "version": "1.2.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "node-watch": { | |||
| "version": "0.6.2", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "open": { | |||
| "version": "6.4.0", | |||
| "bundled": true, | |||
| "dev": true, | |||
| "requires": { | |||
| "is-wsl": "^1.1.0" | |||
| } | |||
| }, | |||
| "webframe": { | |||
| "version": "0.9.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "ws": { | |||
| "version": "7.1.0", | |||
| "bundled": true, | |||
| "dev": true, | |||
| "requires": { | |||
| "async-limiter": "^1.0.0" | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| "error-ex": { | |||
| @@ -10,8 +10,9 @@ | |||
| function updateWords() { | |||
| wordList = []; | |||
| let q = inputEl.value.toLowerCase(); | |||
| for (let content in words) { | |||
| if (content.includes(inputEl.value)) | |||
| if (content.includes(q)) | |||
| wordList.push({ content, score: words[content] }); | |||
| } | |||
| wordList.sort((a, b) => b.score - a.score); | |||
| @@ -109,7 +110,7 @@ | |||
| <form on:submit|preventDefault={onSubmit} class="add"> | |||
| <input | |||
| class="content" name="content" autocomplete="off" | |||
| on:focus={onFocus} on:blur={onBlur} on:keydown={() => window.setTimeout(updateWords, 10)} bind:this={inputEl}> | |||
| on:focus={onFocus} on:blur={onBlur} on:keydown={() => window.setTimeout(updateWords, 50)} bind:this={inputEl}> | |||
| <button class="submit" type="submit">+</button> | |||
| {#if !hidden} | |||
| <div transition:fade={{duration: 50}} class="suggestions"> | |||
| @@ -6,15 +6,15 @@ let wsock = new WSockMan( | |||
| let app = new App({ target: document.body, props: { wsock }}); | |||
| let key = localStorage.getItem("key"); | |||
| if (!key) | |||
| key = prompt("Key?"); | |||
| let key = null; | |||
| function auth(k) { | |||
| wsock.send({ type: "init", key: k }) | |||
| function auth(key) { | |||
| if (!key) | |||
| key = prompt("Key?"); | |||
| wsock.send({ type: "init", key }) | |||
| .then(res => { | |||
| localStorage.setItem("key", key); | |||
| key = k; | |||
| app.onInitialData(res.data); | |||
| }) | |||
| .catch(err => { | |||
| @@ -25,7 +25,7 @@ function auth(k) { | |||
| }); | |||
| }; | |||
| wsock.onconnect = () => auth(key); | |||
| wsock.onconnect = () => auth(localStorage.getItem("key")); | |||
| wsock.ondisconnect = app.onDisconnect.bind(app); | |||
| wsock.onmessage = msg => { | |||
| @@ -19,6 +19,54 @@ | |||
| "open": "^6.4.0", | |||
| "webframe": "^0.9.0", | |||
| "ws": "^7.1.0" | |||
| }, | |||
| "dependencies": { | |||
| "async-limiter": { | |||
| "version": "1.0.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "colors": { | |||
| "version": "1.3.3", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "is-wsl": { | |||
| "version": "1.1.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "minimist": { | |||
| "version": "1.2.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "node-watch": { | |||
| "version": "0.6.2", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "open": { | |||
| "version": "6.4.0", | |||
| "bundled": true, | |||
| "dev": true, | |||
| "requires": { | |||
| "is-wsl": "^1.1.0" | |||
| } | |||
| }, | |||
| "webframe": { | |||
| "version": "0.9.0", | |||
| "bundled": true, | |||
| "dev": true | |||
| }, | |||
| "ws": { | |||
| "version": "7.1.0", | |||
| "bundled": true, | |||
| "dev": true, | |||
| "requires": { | |||
| "async-limiter": "^1.0.0" | |||
| } | |||
| } | |||
| } | |||
| }, | |||
| "ws": { | |||
| @@ -10,6 +10,7 @@ if (!key) { | |||
| console.log("Environmnt variable 'KEY' not set."); | |||
| process.exit(1); | |||
| } | |||
| console.log("Using key:", key); | |||
| let server = createFileServer("../client/public"); | |||
| let wss = new WebSocket.Server({ server }); | |||