Browse Source

Ajout commandes

Loquicom 3 years ago
parent
commit
a1018c0da0
3 changed files with 82 additions and 6 deletions
  1. BIN
      css/font/Halo-Covenant.ttf
  2. 9 0
      css/style.css
  3. 73 6
      js/script.js

BIN
css/font/Halo-Covenant.ttf


+ 9 - 0
css/style.css

@@ -3,6 +3,11 @@
     src: url("font/JetBrainsMono-Regular.woff2") format("woff2");
 }
 
+@font-face {
+    font-family: "Covenant";
+    src: url("font/Halo-Covenant.ttf") format("truetype");
+}
+
 body {
     font-family: "JetBrain Mono", Arial, Helvetica, sans-serif !important;
 }
@@ -77,6 +82,10 @@ body {
     transform: translateY(-50%);    
 }
 
+.covenant {
+    font-family: "Covenant" !important;
+}
+
 /* Animation */
 .anim-typewriter{
   animation: typewriter 4s steps(44) 1s 1 normal both,

+ 73 - 6
js/script.js

@@ -25,11 +25,60 @@ function toggleFullScreen(elem) {
     }
 }
 
+function help(hide = false) {
+    let str = 'Liste des commanndes disponibles :<br/>';
+    str += '&nbsp;&nbsp;- aide : Affiche ce message d\'aide<br/>';
+    str += '&nbsp;&nbsp;- bonjour : Formule de politesse<br/>';
+    str += '&nbsp;&nbsp;- dit : Une vrai pipelette<br/>';
+    str += '&nbsp;&nbsp;- ping : Vérifie la connexion au terminal<br/>';
+    str += '&nbsp;&nbsp;- cafard : Peut-&ecirc;tre un bug ?<br/>';
+    str += '&nbsp;&nbsp;- flip : Pour exprimer sa col&egrave;re<br/>';
+    str += '&nbsp;&nbsp;- unflip : Pour nettoyer après la col&grave;re<br/>';
+    str += '&nbsp;&nbsp;- table : Elle est belle ma table<br/>';
+    str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">fullscreen : Active/D&eacute;sactive le mode pleine écran</span><br/>';
+    str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">rate : Ouvre la porte</span><br/>';
+    str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">loquicom : Lien vers mon Github</span><br/>';
+    if (hide) {
+        str += '<br/>Erreur lors de la récupération de certaine commande';
+    }
+    return str;
+}
+
+let table = true;
+function flip(state) {
+    // Si on flip et qu'il y a la table
+    if (state && table) {
+        table = false;
+        return '(╯°□°)╯︵ ┻━┻';
+    } 
+    // Si on flip sans table
+    else if (state) {
+        return 'La table est d&eacute;j&agrave; &agrave; l\'envers T_T';
+    }
+    // Si on ne flip pas et qu'il n'y à pas la table
+    else if (!state && !table) {
+        table = true;
+        return '┬─┬ノ( º _ ºノ)';
+    }
+    // Sinon on ne flip pas et la table est déjà la
+    else {
+        return 'La table est d&eacute;j&agrave; bien &agrave; sa place \\o/';
+    }
+}
+
+function tableStatus() {
+    if (table) {
+        return 'La table est &agrave; sa place ┬─┬ \\o/'
+    } else {
+        return 'La tables est &agrave; l\'envers ┻━┻ T_T';
+    }
+}
+
 function cmd() {
     const shell = new Cmd({
         selector: '#cmd',
         busy_text: 'Traitement...',
-        unknown_cmd: 'Commande non reconnue, tapez help pour avoir la liste des commandes disponibles',
+        unknown_cmd: 'Commande non reconnue, tapez "aide" pour avoir la liste des commandes disponibles',
         external_processor: processor
     });
     shell.setPrompt("[chell@glad.os] ➜ ");
@@ -37,14 +86,32 @@ function cmd() {
 
 function processor(input, cmd) {
     input = input.toLowerCase().replaceAll('é', 'e').replaceAll('è', 'e').replaceAll('à', 'a');
-    switch (input) {
+    const argc = input.split(" ");
+    const command = argc.shift();
+    switch (command) {
+        case "aide":
+            return help(true);
+        case "ping":
+            return "pong";
+        case "cafard":
+            return "crick crick";
+        case "dit":
+            return '<b>' + argc.join(' ') + '</b>';
+        case "bonjour":
+            return "Bonjour à toi ^_^";
+        case "table":
+            return tableStatus();
+        case "flip":
+            return flip(true);
+        case "unflip":
+            return flip(false);
+        case "oziquo":
+            return help(false);
         case "fullscreen":
             let res = toggleFullScreen(document.getElementById('cmd'));
             return "Fullscreen " + res;
-        case "ping":
-            return "pong";
-        case "ifconfig":
-            break;
+        case "loquicom":
+            return '<a href="https://github.com/Loquicom" target="_blank">https://github.com/Loquicom</a>';
         case "rate":
             new Promise((resolve, reject) => {
                 var audio = new Audio('./success.mp3');