]> git.lizzy.rs Git - local-nhentai.git/blobdiff - select.js
Generic stats and select
[local-nhentai.git] / select.js
index f8ec511369957050978558b9b7204a6a9decd803..bf4c4f7ca0b063c41edd059f49395b26a0192780 100644 (file)
--- 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()))
+       }
 })()