diff --git a/week3/list.txt b/week3/list.txt new file mode 100644 index 0000000..3638d6b --- /dev/null +++ b/week3/list.txt @@ -0,0 +1,3 @@ +0 [ ] Take out the trash +1 [ ] Buy grocery +2 [ ] Play basketball \ No newline at end of file diff --git a/week3/todoCLI.js b/week3/todoCLI.js new file mode 100644 index 0000000..af64188 --- /dev/null +++ b/week3/todoCLI.js @@ -0,0 +1,115 @@ +const readline = require('readline'); +const rl = readline.createInterface({ + input: process.stdin, + output: process.stdout +}); + +let myStuff = []; +//The above "myStuff" array will be storing the todo's that a user enters. +function userInput(answer){ + if (answer === 'v'){ + viewList(); + } else if (answer === 'n'){ + addNewItem(); + } else if (answer[0] === 'c') { + completeItem(answer); + } else if (answer[0] === 'd') { + deleteItem(answer); + } else if (answer === 'q'){ + quitList(); + } else { + console.log(`You must enter one of the following: v, n, cX (where X is a number), dX (where X is a number), q`); + menu(); + }; +}; + +function menu () {rl.question( + `Welcome to ToDo CLI!\n--------------------\n(v) View ∙ (n) New ∙ (cX) Complete ∙ (dX) Delete ∙ (q) Quit\n>`, + userInput)}; + menu(); + +function viewList (){ + console.log(`You're viewing your to-do list`); + if (myStuff.length === 0) { + console.log('but your to-do list is empty') + } else { + for (let i = 0; i < myStuff.length; i++){ + if (myStuff[i][0] === false) { + console.log (`${i} [ ] ${myStuff[i][1]}`) + } else if (myStuff[i][0] === true) { + console.log(`${i} [✓] ${myStuff[i][1]}`) + } + } + }; + menu(); +}; + +function addNewItem (){ + console.log(`you're adding a new to-do item`); + rl.question(`What task would you like to add?\n`, answer =>{ + myStuff.push([false, answer]); + menu(); + }); +}; + +function completeItem (answer) { + let userInputNumber = ''; + for (let i = 1; i fs.readFile, rl.close() + * new --> fs.writeFile, rl.close() + * complete->fs.writeFile, rl.close() + * delete--> fs.unlink, rl.close() + * quit --> rl.close() + */ + + /** Nov 25, 2018 + * I realized I started coding for the "stretch" homework. + * So, I decided to rewrite my code for the "non-stretch" homework first. + * I will tackle the "stretch" homework later. + * + * + * + ** Nov 30, 2018 + * I cleaned up my code by deleting unneccesary comments and empty spaces. + * I cleaned up my code by indenting properly. + * I cleaned up my code by naming my variable with meaningful word choices. + */ \ No newline at end of file