@@ -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 }); |