HeliosLauncher/app/assets/athshield/athshield.js
Sandro642 297a3a099c Refactor comments and questions from French to English
Updated all comments and user prompts in athshield.js from French to English for better code readability and broader usability. No functional changes were made.
2024-10-24 18:18:52 +02:00

80 lines
2.6 KiB
JavaScript

const fs = require('fs')
const readline = require('readline')
const path = require('path')
// Path to the configuration file
const configPath = path.join(__dirname, 'variables.athshield')
// Load the variables from the file
function loadConfig() {
const rawData = fs.readFileSync(configPath)
return JSON.parse(rawData.toString()) // Convert Buffer to string
}
// Save the variables to the file
function saveConfig(config) {
const data = JSON.stringify(config, null, 2)
fs.writeFileSync(configPath, data)
}
// Create the readline interface
const rl = readline.createInterface({
input: process.stdin,
output: process.stdout
})
// Function to ask questions to the user
function startCLI() {
const config = loadConfig()
rl.question('Would you like to activate Athena\'s Shield? (yes/no): ', (answer) => {
if (answer.trim().startsWith('//')) {
console.log('This is a comment; the line is ignored.')
rl.close()
return
}
if (answer.toLowerCase() === 'yes') {
config.athenaShieldActivated = true
rl.question('Would you like to hide or block the menu? (hide/block): ', (menuAnswer) => {
if (menuAnswer.trim().startsWith('//')) {
console.log('This is a comment; the line is ignored.')
rl.close()
return
}
if (menuAnswer.toLowerCase() === 'hide') {
config.menuVisibility = 'hidden' // Change to 'hidden'
console.log(`Athena's Shield activated. Menu hidden.`)
} else if (menuAnswer.toLowerCase() === 'block') {
config.menuVisibility = 'blocked' // Change to 'blocked'
console.log(`Athena's Shield activated. Menu blocked.`)
} else {
console.log('Invalid option for the menu.')
rl.close()
return
}
// Save the modified configuration
saveConfig(config)
rl.close()
})
} else if (answer.toLowerCase() === 'no') {
console.log('Athena\'s Shield not activated. Closing the CLI.')
config.athenaShieldActivated = false
config.menuVisibility = 'visible' // Reset to default value
// Save the modified configuration
saveConfig(config)
rl.close()
} else {
console.log('Invalid response.')
rl.close()
}
})
}
// Launch the CLI
startCLI()