Use localStorage instead of cookies

Fixes #37.
This commit is contained in:
Florine W. Dekker 2020-08-10 20:41:22 +02:00
parent f9a78adadb
commit fd96cfd574
Signed by: FWDekker
GPG Key ID: B1B567AF58D6EE0F
4 changed files with 10 additions and 11 deletions

BIN
package-lock.json generated

Binary file not shown.

View File

@ -1,6 +1,6 @@
{
"name": "interlanguage-checker",
"version": "1.10.13",
"version": "1.10.14",
"description": "Check the consistency of MediaWiki interlanguage links in a simple overview.",
"author": "Felix W. Dekker",
"browser": "dist/bundle.js",
@ -16,15 +16,14 @@
"deploy": "grunt deploy"
},
"dependencies": {
"@fwdekker/template": "^0.0.18",
"@fwdekker/template": "^0.0.20",
"fetch-jsonp": "^1.1.3",
"fork-awesome": "^1.1.7",
"htm": "^3.0.4",
"js-cookie": "^2.2.1",
"preact": "^10.4.6"
"preact": "^10.4.7"
},
"devDependencies": {
"css-loader": "^3.6.0",
"css-loader": "^4.2.1",
"file-loader": "^6.0.0",
"grunt": "^1.2.1",
"grunt-cli": "^1.3.2",
@ -35,7 +34,7 @@
"grunt-text-replace": "^0.4.0",
"grunt-webpack": "^4.0.2",
"style-loader": "^1.2.1",
"webpack": "^4.44.0",
"webpack": "^4.44.1",
"webpack-cli": "^3.3.12"
}
}

View File

@ -99,6 +99,6 @@
<div id="footer"></div>
</main>
<script src="bundle.js"></script>
<script src="bundle.js?v=%%VERSION_NUMBER%%"></script>
</body>
</html>

View File

@ -1,6 +1,5 @@
import {$, doAfterLoad, footer, header, nav} from "@fwdekker/template";
import {html, render} from "htm/preact";
import Cookies from "js-cookie";
import "fork-awesome/css/fork-awesome.css";
import {InterlangTable, MessageHandler, ValidatableInput} from "./DOM";
import {discoverNetwork, InterlangNetwork, MediaWiki, MediaWikiManager} from "./MediaWiki";
@ -58,7 +57,7 @@ doAfterLoad(async () => {
let mwm = undefined;
const submit = async () => {
Cookies.set("api-url", urlInput.getValue(), {expires: 10 * 365, secure: true, sameSite: "lax", path: ""});
localStorage.setItem("/tools/interlanguage-checker//api-url", urlInput.getValue());
// Clean up
urlInput.showBlank();
@ -127,8 +126,9 @@ doAfterLoad(async () => {
urlInput.input.focus() // Default focus
// Read inputs from cookies
if (Cookies.get("api-url") || "" !== "") {
urlInput.setValue(Cookies.get("api-url"));
const apiUrl = localStorage.getItem("/tools/interlanguage-checker//api-url");
if (apiUrl !== undefined && apiUrl.trim() !== "") {
urlInput.setValue(apiUrl);
articleInput.input.focus();
}