inquirer.js 2.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394
  1. const inquirer = require("inquirer");
  2. const files = require("./files");
  3. const common = require("./common");
  4. // let compatibleApps
  5. module.exports = {
  6. mainMenu: () => {
  7. const questions = [{
  8. type: "list",
  9. name: "mainMenu",
  10. message: "What do you want to do?",
  11. choices: [
  12. // "Connect to MiWatch",
  13. "1-Click Karl0ss Klean",
  14. "Remove Xiaomi Apps",
  15. "Restore Xiaomi Apps",
  16. "Install Compatible Apps",
  17. "Remove Installed Apps",
  18. "Restore ANY app",
  19. "Quit"
  20. ],
  21. filter: function (val) {
  22. return val.toLowerCase();
  23. },
  24. }, ];
  25. return inquirer.prompt(questions);
  26. },
  27. connectionType: () => {
  28. const questions = [{
  29. type: "list",
  30. name: "connection",
  31. message: "How do you want to connect?",
  32. choices: [
  33. "USB",
  34. "Wifi"
  35. ],
  36. filter: function (val) {
  37. return val.toLowerCase();
  38. },
  39. }, ];
  40. return inquirer.prompt(questions);
  41. },
  42. connectWifi: () => {
  43. const questions = [{
  44. type: "input",
  45. name: "connectWifi",
  46. message: "What is your MiWatch IpAdress?",
  47. }, ];
  48. return inquirer.prompt(questions);
  49. },
  50. removeAppsList: async () => {
  51. const packages = await files.loadPackageList();
  52. const questions = [{
  53. type: "checkbox",
  54. name: "removeAppsList",
  55. message: "What apps do you want to restore?",
  56. choices: packages.apps,
  57. }, ];
  58. return inquirer.prompt(questions);
  59. },
  60. compatibleApps: async () => {
  61. const compatibleApps = await common.getCompatibleAppsList()
  62. const appList = []
  63. for (let element of compatibleApps) {
  64. appList.push(element.name)
  65. }
  66. const questions = [{
  67. type: "checkbox",
  68. name: "removeAppsList",
  69. message: "What apps do you want to Install?",
  70. choices: appList,
  71. }, ];
  72. return inquirer.prompt(questions);
  73. },
  74. installedApps: async (installedApps) => {
  75. const questions = [{
  76. type: "checkbox",
  77. name: "removeAppsList",
  78. message: "What Installed apps do you want to remove?",
  79. choices: installedApps,
  80. }, ];
  81. return inquirer.prompt(questions);
  82. },
  83. restoreAnyApp: async () => {
  84. const questions = [{
  85. type: "input",
  86. name: "restoreAnyApp",
  87. message: "What App do you want to restore?",
  88. }, ];
  89. return inquirer.prompt(questions);
  90. },
  91. };