summaryrefslogtreecommitdiff
path: root/deck.erb.html
blob: 9b0465aae64a52e50733fc6c5e9958441f2a772d (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
<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!"
  form.hidePopover()
}
</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>