inquirer.js 2.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101
  1. const inquirer = require("inquirer");
  2. const files = require("./files");
  3. const common = require("./common");
  4. const Language = require("@shypes/language-translator");
  5. Language._({
  6. default_lang: "en",
  7. ext: ".json",
  8. __basedir: "./",
  9. langFolder: 'lang'
  10. })
  11. module.exports = {
  12. mainMenu: async () => {
  13. const questions = [{
  14. type: "list",
  15. name: "mainMenu",
  16. message: await Language.get('main-menu-question'),
  17. choices: [
  18. await Language.get('main-menu-item-1'),
  19. await Language.get('main-menu-item-2'),
  20. await Language.get('main-menu-item-3'),
  21. await Language.get('main-menu-item-4'),
  22. await Language.get('main-menu-item-5'),
  23. await Language.get('main-menu-item-6'),
  24. await Language.get('main-menu-item-7'),
  25. await Language.get('main-menu-item-8'),
  26. ],
  27. filter: function (val) {
  28. return val.toLowerCase();
  29. },
  30. },];
  31. return inquirer.prompt(questions);
  32. },
  33. connectionType: async () => {
  34. const questions = [{
  35. type: "list",
  36. name: "connection",
  37. message: await Language.get('connection-type-message'),
  38. choices: [
  39. "USB",
  40. "Wifi"
  41. ],
  42. filter: function (val) {
  43. return val.toLowerCase();
  44. },
  45. },];
  46. return inquirer.prompt(questions);
  47. },
  48. connectWifi: async () => {
  49. const questions = [{
  50. type: "input",
  51. name: "connectWifi",
  52. message: await Language.get('connect-wifi-message'),
  53. },];
  54. return inquirer.prompt(questions);
  55. },
  56. removeAppsList: async () => {
  57. const packages = await files.loadPackageList();
  58. const questions = [{
  59. type: "checkbox",
  60. name: "removeAppsList",
  61. message: await Language.get('restore-app-message'),
  62. choices: packages.apps,
  63. },];
  64. return inquirer.prompt(questions);
  65. },
  66. compatibleApps: async () => {
  67. const compatibleApps = await common.getCompatibleAppsList()
  68. const appList = []
  69. for (let element of compatibleApps) {
  70. appList.push(element.name)
  71. }
  72. const questions = [{
  73. type: "checkbox",
  74. name: "removeAppsList",
  75. message: await Language.get('install-compatible-apps-message'),
  76. choices: appList,
  77. },];
  78. return inquirer.prompt(questions);
  79. },
  80. installedApps: async (installedApps) => {
  81. const questions = [{
  82. type: "checkbox",
  83. name: "removeAppsList",
  84. message: await Language.get('remove-installed-apps-message'),
  85. choices: installedApps,
  86. },];
  87. return inquirer.prompt(questions);
  88. },
  89. restoreAnyApp: async () => {
  90. const questions = [{
  91. type: "input",
  92. name: "restoreAnyApp",
  93. message: await Language.get('restore-any-app-message'),
  94. },];
  95. return inquirer.prompt(questions);
  96. },
  97. };