forked from maelgruand1/AltOS
-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathterminal.js
More file actions
59 lines (51 loc) · 3.17 KB
/
terminal.js
File metadata and controls
59 lines (51 loc) · 3.17 KB
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
// Récupérer les éléments du DOM
const terminalBtn = document.getElementById("terminal-btn");
const terminal = document.getElementById("terminal");
const closeTerminal = document.getElementById("close-terminal");
const terminalInput = document.getElementById("terminal-input");
const terminalOutput = document.getElementById("terminal-output");
// Ouvrir le terminal
terminalBtn.addEventListener("click", () => {
terminal.style.display = "flex";
terminalInput.focus();
});
// Fermer le terminal
closeTerminal.addEventListener("click", () => {
terminal.style.display = "none";
});
// Fonction pour exécuter la commande dans le terminal
terminalInput.addEventListener("keydown", (event) => {
if (event.key === "Enter") {
event.preventDefault(); // Empêche le comportement par défaut du formulaire
const command = terminalInput.value.trim(); // Supprimer les espaces vides autour de la commande
if (command === "") return; // Ne rien faire si la commande est vide
terminalOutput.innerHTML += `<p><span style="color: #00FF00;">$ ${command}</span></p>`; // Afficher la commande entrée
// Logique de traitement de la commande
if (command === "hello") {
terminalOutput.innerHTML += "<p>Bonjour, utilisateur d'AltOS !</p>";
} else if (command === "clear") {
terminalOutput.innerHTML = ""; // Effacer l'écran du terminal
} else if (command === "help") {
terminalOutput.innerHTML += "<p>Voici les commandes disponibles :</p>";
terminalOutput.innerHTML += "<p><span style='color: #00FF00;'>hello</span> - Affiche un message de bienvenue.</p>";
terminalOutput.innerHTML += "<p><span style='color: #00FF00;'>clear</span> - Efface l'écran du terminal.</p>";
terminalOutput.innerHTML += "<p><span style='color: #00FF00;'>date</span> - Affiche la date et l'heure actuelle.</p>";
terminalOutput.innerHTML += "<p><span style='color: #00FF00;'>whoami</span> - Affiche le nom d'utilisateur actuel.</p>";
terminalOutput.innerHTML += "<p><span style='color: #00FF00;'>echo [texte]</span> - Affiche le texte fourni.</p>"; // Ajouter la commande echo à l'aide de l'aide
} else if (command === "date") {
const currentDate = new Date();
const formattedDate = currentDate.toLocaleString(); // Affiche la date et l'heure locale
terminalOutput.innerHTML += `<p>La date et l'heure actuelles sont : ${formattedDate}</p>`;
} else if (command === "whoami") {
terminalOutput.innerHTML += "<p>Nom d'utilisateur : utilisateur d'AltOS</p>";
} else if (command.startsWith("echo ")) {
const message = command.slice(5); // Récupérer le texte après "echo "
terminalOutput.innerHTML += `<p>${message}</p>`; // Afficher le message dans le terminal
} else {
terminalOutput.innerHTML += "<p>Commande inconnue. Tapez 'help' pour la liste des commandes.</p>";
}
// Remettre le curseur au bas et effacer le champ de saisie
terminalInput.value = "";
terminalOutput.scrollTop = terminalOutput.scrollHeight;
}
});