-
Notifications
You must be signed in to change notification settings - Fork 0
/
Copy pathindex.js
91 lines (84 loc) · 1.86 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
const fs = require('fs');
const chalk = require('chalk');
const clear = require('clear');
const figlet = require('figlet');
const inquirer = require('./inquirier.js');
const modules = require('./modules');
const { authenticateUser } = require('./helpers');
init();
async function init() {
showBanner();
runMainMenu();
}
async function runMainMenu() {
const choice = await inquirer.showMainMenu();
switch (choice.mainMenu) {
case 'login':
runLogin();
break;
case 'tools':
runToolsMenu();
break;
case 'exit':
return;
}
}
async function runToolsMenu() {
// clear();
const choice = await inquirer.showToolsMenu();
switch (choice.toolsMenu) {
case 'cms_downloader':
await modules.cmsDownloader();
break;
case 'evaluation_roaster':
await modules.evaluationRoaster();
break;
case 'back':
return runMainMenu();
}
runToolsMenu();
}
async function runLogin() {
clear();
let isValid = false
let credentials;
while (!isValid) {
credentials = await inquirer.askGUCCredentials();
isValid = await authenticateUser(credentials);
}
let data = JSON.stringify(credentials);
fs.writeFileSync('data.json', data);
runMainMenu();
}
function showBanner() {
let fonts = [
'Wet Letter',
'Red Phoenix',
'Poison',
'Pagga',
'Larry 3D',
'Impossible',
'Ghost',
'Flower Power',
'Fire Font-s',
'DOS Rebel',
'Banner3-D',
];
clear();
console.log(
chalk.greenBright.bold(
figlet.textSync('GUC-SK', {
font: fonts[Math.floor(Math.random() * fonts.length)],
horizontalLayout: 'default',
verticalLayout: 'default',
width: 300,
height: 300,
})
),
chalk.white.bold(
`\n ${chalk.bgGrey('By Ahmed As')}${chalk.bgYellow(
'hraf & Ibrah'
)}${chalk.bgRed('im Mohammed ')}`
)
);
}