summaryrefslogtreecommitdiff
path: root/deck.erb.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 /deck.erb.html
downloadonpoint-0.1.tar.gz
onpoint-0.1.zip
Add version 0.1v0.1
Diffstat (limited to 'deck.erb.html')
-rw-r--r--deck.erb.html50
1 files changed, 50 insertions, 0 deletions
diff --git a/deck.erb.html b/deck.erb.html
new file mode 100644
index 0000000..d95cee4
--- /dev/null
+++ b/deck.erb.html
@@ -0,0 +1,50 @@
+<form onsubmit="ṡ.set('deck', $deck).then(() => alert('Saved!')); return false">
+<p>
+<input type=submit value="Save deck">
+</form>
+
+<div>
+<p>
+<button onclick="document.forms.deck_clear.showPopover()">
+Clear deck
+</button>
+<form popover name=deck_clear onsubmit="$deck = []; this.hidePopover(); return false">
+<p>
+Really clear?
+<p>
+<input type=submit value=Yes> <button type=button onclick="document.forms.deck_clear.hidePopover()">No</button>
+</form>
+</div>
+
+<script>
+async function import_deck$(form) {
+ let url = form.deck.value
+ form.status.value = "Fetching…"
+ let news = await (await fetch(url)).json()
+ news.sort((a, b) => a.num > b.num)
+ $deck = $deck.concat(news)
+ form.status.value = "Done!"
+}
+</script>
+
+<div>
+<p>
+<button onclick="document.forms.deck_import.showPopover()">
+Import question set
+</button>
+<form popover name=deck_import onsubmit="import_deck$(this); return false">
+<select name=deck>
+<% $difficulties.each do |dif| -%>
+<optgroup label=<%= dif %>>
+<% $categories.each do |cat| -%>
+<option value=<%= name_from dif, cat %>><%= dif %> - <%= cat %></option>
+<% end -%>
+</optgroup>
+<% end -%>
+</select>
+<p>
+<input type=submit value=Import> <button type=button onclick="document.forms.deck_import.hidePopover()">Cancel</button>
+<p>
+<output name=status></output>
+</form>
+</div>