X-Git-Url: https://git.lizzy.rs/?a=blobdiff_plain;f=select.js;h=bf4c4f7ca0b063c41edd059f49395b26a0192780;hb=HEAD;hp=f8ec511369957050978558b9b7204a6a9decd803;hpb=e9c34b2a539052ca82eebc6c1d474d59c6ec6690;p=local-nhentai.git 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())) + } })()