aboutsummaryrefslogtreecommitdiff
path: root/select.js
diff options
context:
space:
mode:
authorElias Fleckenstein <eliasfleckenstein@web.de>2022-06-04 16:58:22 +0200
committerElias Fleckenstein <eliasfleckenstein@web.de>2022-06-04 16:58:22 +0200
commit8faa84d56730bd1fc35b10d3d29db424691e3af5 (patch)
treef5e1e4d6ae6e5fd639f6ddc511fd9cf866789e72 /select.js
parent8a0a187b31a3e0e9b9faed1369441576a2b1d103 (diff)
downloadlocal-nhentai-8faa84d56730bd1fc35b10d3d29db424691e3af5.tar.xz
Generic stats and selectHEADmaster
Diffstat (limited to 'select.js')
-rw-r--r--select.js23
1 files changed, 18 insertions, 5 deletions
diff --git a/select.js b/select.js
index f8ec511..bf4c4f7 100644
--- a/select.js
+++ b/select.js
@@ -2,13 +2,26 @@ const fzf = require("./fzf")
const info = require("./info")
;(async _ => {
- const tags = await info.tags()
+ const criteria = await info.criteria()
+ let stage = 0
+ let crt, val, dou
- do {
+ while (true) {
try {
- tag = await fzf.fzf(Object.keys(tags).sort())
+ switch (stage) {
+ case 0:
+ crt = await fzf.fzf(Object.keys(criteria).sort()); break
+ case 1:
+ val = await fzf.fzf(Object.keys(criteria[crt]).sort()); break
+ case 2:
+ dou = await fzf.doujin(Object.values(criteria[crt][val]).sort()); break
+ default:
+ return
+ }
+
+ stage++
} catch {
- return
+ stage--
}
- } while (!await fzf.doujin(Object.values(tags[tag]).sort()))
+ }
})()