const chalk = require('chalk'); const gradient = require('gradient-string'); const con = require('./../config.json'); function getThemeColors() { const theme = con.DESIGN.Theme; let co, cra, error, cb, cv; switch (theme.toLowerCase()) { case 'blue': cra = gradient('yellow', 'lime', 'green'); co = gradient("#243aff", "#4687f0", "#5800d4"); cb = chalk.blueBright; cv = chalk.bold.hex("#3467eb"); error = chalk.red.bold; break; case 'fiery': cra = gradient('orange', 'orange', 'yellow'); co = gradient("#fc2803", "#fc6f03", "#fcba03"); cb = chalk.hex("#fff308"); cv = chalk.bold.hex("#fc3205"); error = chalk.red.bold; break; case 'red': cra = gradient('yellow', 'lime', 'green'); co = gradient("red", "orange"); cb = chalk.hex("#ff0000"); cv = chalk.bold.hex("#ff0000"); error = chalk.red.bold; break; case 'aqua': cra = gradient("#6883f7", "#8b9ff7", "#b1bffc") co = gradient("#0030ff", "#4e6cf2"); cb = chalk.hex("#3056ff"); cv = chalk.bold.hex("#0332ff"); error = chalk.blueBright; break; case 'pink': cra = gradient('purple', 'pink'); co = gradient("#d94fff", "purple"); cb = chalk.hex("#6a00e3"); cv = chalk.bold.hex("#6a00e3"); error = gradient('purple', 'pink'); break; case 'retro': cra = gradient("orange", "purple"); co = gradient.retro; cb = chalk.hex("#ffce63"); cv = chalk.bold.hex("#3c09ab"); error = gradient("#d94fff", "purple"); break; case 'sunlight': cra = gradient("#f5bd31", "#f5e131"); co = gradient("orange", "#ffff00", "#ffe600"); cb = chalk.hex("#faf2ac"); cv = chalk.bold.hex("#ffe600"); error = gradient("#f5bd31", "#f5e131"); break; case 'teen': cra = gradient("#81fcf8", "#853858"); co = gradient.teen; cb = chalk.hex("#a1d5f7"); cv = chalk.bold.hex("#ad0042"); error = gradient("#00a9c7", "#853858"); break; case 'summer': cra = gradient("#fcff4d", "#4de1ff"); co = gradient.summer; cb = chalk.hex("#ffff00"); cv = chalk.bold.hex("#fff700") error = gradient("#fcff4d", "#4de1ff"); break; case 'flower': cra = gradient("yellow", "yellow", "#81ff6e"); co = gradient.pastel; cb = gradient('#47ff00', "#47ff75"); cv = chalk.bold.hex("#47ffbc"); error = gradient("blue", "purple", "yellow", "#81ff6e"); break; case 'ghost': cra = gradient("#0a658a", "#0a7f8a", "#0db5aa"); co = gradient.mind; cb = chalk.blueBright; cv = chalk.bold.hex("#1390f0"); error = gradient("#0a658a", "#0a7f8a", "#0db5aa"); break; case 'hacker': cra = chalk.hex('#4be813'); co = gradient('#47a127', '#0eed19', '#27f231'); cb = chalk.hex("#22f013"); cv = chalk.bold.hex("#0eed19"); error = chalk.hex('#4be813'); break; case 'purple': cra = chalk.hex('#7a039e'); co = gradient("#243aff", "#4687f0", "#5800d4"); cb = chalk.hex("#6033f2"); cv = chalk.bold.hex("#5109eb"); error = chalk.hex('#7a039e'); break; case 'rainbow': cra = chalk.hex('#0cb3eb'); co = gradient.rainbow; cb = chalk.hex("#ff3908"); cv = chalk.bold.hex("#f708ff"); error = chalk.hex('#ff8400'); break; case 'orange': cra = chalk.hex('#ff8400'); co = gradient("#ff8c08", "#ffad08", "#f5bb47"); cb = chalk.hex("#ebc249"); cv = chalk.bold.hex("#ff8c08"); error = chalk.hex('#ff8400'); break; default: cra = gradient('yellow', 'lime', 'green'); co = gradient("#243aff", "#4687f0", "#5800d4"); cb = chalk.blueBright; cv = chalk.bold.hex("#3467eb"); error = chalk.red.bold; break; } return { co, error, cra, cb, cv}; }; module.exports = { getThemeColors, log: (text, type) => { switch (type) { case 'warn': process.stderr.write(getThemeColors().error(`\r[ ERROR ] `) + text + '\n'); break; case 'error': console.log(chalk.bold.hex("#ff0000").bold(`[ ERROR ] `) + text + '\n'); break; case 'load': console.log(getThemeColors().co(`[ NEW USER ] `) + text + '\n'); break; default: process.stderr.write(getThemeColors().co(`\r[ ${String(type).toUpperCase()} ] `) + text + '\n'); break; } }, error: (text, type) => { process.stderr.write(chalk.hex("#ff0000")(`\r[ ${type} ] `) + text + '\n'); }, err: (text, type) => { process.stderr.write(getThemeColors().co(`[ ${type} ] `) + text + '\n'); }, warn: (text, type) => { process.stderr.write(getThemeColors().co(`\r[ ${type} ] `) + text + '\n'); }, loader: (data, option) => { switch (option) { case 'warn': process.stderr.write(getThemeColors().co(`[ SYSTEM ]`), data + '\n'); break; case 'error': process.stderr.write(chalk.hex("#ff0000")(`\r[ SYSTEM ] `) + data + '\n'); break; default: console.log(getThemeColors().co(`[ SYSTEM ]`), data); break; } } };