UNPKG

l7note

Version:

Access your notion notes quick

136 lines (135 loc) 5.07 kB
"use strict"; var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) { function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); } return new (P || (P = Promise))(function (resolve, reject) { function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } } function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } } function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); } step((generator = generator.apply(thisArg, _arguments || [])).next()); }); }; var __importDefault = (this && this.__importDefault) || function (mod) { return (mod && mod.__esModule) ? mod : { "default": mod }; }; Object.defineProperty(exports, "__esModule", { value: true }); exports.displayNotes = void 0; const prompts_1 = __importDefault(require("prompts")); const open_1 = __importDefault(require("open")); const chalk_1 = __importDefault(require("chalk")); const markAsDone_js_1 = require("./noteActions/markAsDone.js"); const markAsDelete_js_1 = require("./noteActions/markAsDelete.js"); const process_1 = require("process"); var options; (function (options) { options[options["OPENCLI"] = 1] = "OPENCLI"; options[options["OPENBROWSER"] = 2] = "OPENBROWSER"; options[options["EDIT"] = 3] = "EDIT"; options[options["MARKDELETE"] = 4] = "MARKDELETE"; options[options["DELETE"] = 5] = "DELETE"; })(options || (options = {})); const onListCancel = () => { console.log('BYE'); (0, process_1.exit)(1); }; const listOptions = { onCancel: onListCancel }; const displayInCli = (note) => { console.log(note.url); console.log(chalk_1.default.green(note.title)); console.log(note.tags); console.log(); console.log(note.text); }; const GoBackPrompt = () => __awaiter(void 0, void 0, void 0, function* () { const goBacktoListQuestion = [ { type: 'select', name: 'goBack', message: '', choices: [{ title: 'Back' }, { title: 'Exit' }], }, ]; const res = yield (0, prompts_1.default)(goBacktoListQuestion, listOptions); if (res.goBack) { console.log('BYE'); (0, process_1.exit)(1); } }); const displayNotes = (noteList) => __awaiter(void 0, void 0, void 0, function* () { console.clear(); const choises = noteList.map(note => { const newChoise = { title: note.title, description: chalk_1.default.cyan(note.text.substring(0, 32)), value: note, }; return newChoise; }); const noteDisplayList = [ { type: 'select', name: 'selected', message: 'Selet the note you want to view:', choices: choises, }, ]; const res = yield (0, prompts_1.default)(noteDisplayList, listOptions); const whatToToSelect = [ { type: 'select', name: 'whatToDo', message: 'What do you want to do with the selected note:', choices: [ { title: 'Open in cli', value: options.OPENCLI, }, { title: 'Open in browser', value: options.OPENBROWSER, }, { title: 'Edit note', value: options.EDIT, }, { title: 'Mark as done', value: options.MARKDELETE, }, { title: `${chalk_1.default.red('Delete note')}`, value: options.DELETE, }, ], }, ]; const whatToDoRes = yield (0, prompts_1.default)(whatToToSelect, listOptions); switch (whatToDoRes.whatToDo) { case options.OPENBROWSER: (0, open_1.default)(res.selected.url); yield GoBackPrompt(); displayNotes(noteList); break; case options.OPENCLI: displayInCli(res.selected); yield GoBackPrompt(); displayNotes(noteList); break; case options.MARKDELETE: (0, markAsDone_js_1.markAsDone)(res.selected); yield GoBackPrompt(); console.log(res.selected); console.log(noteList); displayNotes(noteList); yield GoBackPrompt(); break; case options.DELETE: (0, markAsDelete_js_1.markAsDeleteByNote)(res.selected); yield GoBackPrompt(); noteList = noteList.filter(note => note.id !== res.selected.id); displayNotes(noteList); break; default: break; } }); exports.displayNotes = displayNotes;