summaryrefslogtreecommitdiff
path: root/ie.html
diff options
context:
space:
mode:
authorSimon Parri <simonparri@ganzeria.com>2025-02-16 23:29:02 -0600
committerSimon Parri <simonparri@ganzeria.com>2025-02-16 23:36:39 -0600
commitca51ae66c40c0f040b81a5ed7b39602eb30c4ad2 (patch)
tree01546304cf59582de29fd12e3c639e3aa1174397 /ie.html
downloadonpoint-ca51ae66c40c0f040b81a5ed7b39602eb30c4ad2.tar.gz
onpoint-ca51ae66c40c0f040b81a5ed7b39602eb30c4ad2.zip
Add version 0.1v0.1
Diffstat (limited to 'ie.html')
-rw-r--r--ie.html35
1 files changed, 35 insertions, 0 deletions
diff --git a/ie.html b/ie.html
new file mode 100644
index 0000000..89f69de
--- /dev/null
+++ b/ie.html
@@ -0,0 +1,35 @@
+<form name=import-export onsubmit="return false">
+<p>
+<input type=submit name=import value="Import data">
+<input type=submit name=export value="Export data">
+</form>
+
+<script>
+$loaded_p.then(() => {
+ let f = document.forms["import-export"]
+ f.onsubmit = async e => {
+ e.preventDefault()
+ switch (e.submitter.name) {
+ case "import":
+ let file = await new Promise(r =>
+ ė("input", {type: "file", onchange(e) { r(this.files[0]) }})
+ .ǀ(e => f.append(e)).ǀ(ff`click`).remove())
+ let reader = new FileReader()
+ reader.onload =
+ e => ṡ.set_all(JSON.parse(reader.result))
+ .then(() => location.reload())
+ reader.onerror = e => alert(reader.error)
+ reader.readAsText(file)
+ break
+ case "export":
+ let data = await ṡ.get_all(["deck", "settings"]),
+ blob = new Blob([JSON.stringify (data)], {type: "application/json"}),
+ href = URL.createObjectURL(blob)
+ ė("a", {href, download: "onpoint-export.json"})
+ .ǀ(e => f.append(e)).ǀ(ff`click`).remove()
+ URL.revokeObjectURL(href)
+ break
+ }
+ }
+})
+</script>