function toggleFullScreen(elem) { // ## The below if statement seems to work better ## if ((document.fullScreenElement && document.fullScreenElement !== null) || (document.msfullscreenElement && document.msfullscreenElement !== null) || (!document.mozFullScreen && !document.webkitIsFullScreen)) { if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) { if (elem.requestFullScreen) { elem.requestFullScreen(); } else if (elem.mozRequestFullScreen) { elem.mozRequestFullScreen(); } else if (elem.webkitRequestFullScreen) { elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT); } else if (elem.msRequestFullscreen) { elem.msRequestFullscreen(); } return "on"; } else { if (document.cancelFullScreen) { document.cancelFullScreen(); } else if (document.mozCancelFullScreen) { document.mozCancelFullScreen(); } else if (document.webkitCancelFullScreen) { document.webkitCancelFullScreen(); } else if (document.msExitFullscreen) { document.msExitFullscreen(); } return 'off'; } } function help(hide = false) { let str = 'Liste des commandes disponibles :
'; str += '  - aide : Affiche ce message d'aide
'; str += '  - bonjour : Formule de politesse
'; str += '  - dit <mot>: Répète le mot
'; str += '  - ping : Vérifie la connexion au terminal
'; str += '  - cafard : Peut-être un bug ?
'; str += '  - flip : Pour exprimer sa colère
'; str += '  - unflip : Pour nettoyer après la colère
'; str += '  - table : Elle est belle ma table
'; str += '  - rate : Ouvre la porte
'; if (hide) { str += '
Erreur lors de la récupération de certaines commandes'; } else { str += '  - mirios : Affiche ce message d'aide (mais sans les erreurs)
'; str += '  - fullscreen : Active/Désactive le mode plein écran
'; str += '  - loquicom : C'est moi le créateur
'; } 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éjà à 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éjà bien à sa place \\o/'; } } function tableStatus() { if (table) { return '┬─┬'; } else { return '┻━┻'; } } function cmd() { const shell = new Cmd({ selector: '#cmd', busy_text: 'Traitement...', unknown_cmd: 'Commande non reconnue, tapez "aide" pour avoir la liste des commandes disponibles', external_processor: processor }); shell.setPrompt("[chell@glad.os] ➜ "); } function processor(input, cmd) { input = input.toLowerCase().replaceAll('é', 'e').replaceAll('è', 'e').replaceAll('à', 'a'); const argc = input.split(" "); const command = argc.shift(); switch (command) { case "aide": return help(true); case "help": return "Commande inconnue voulez-vous dire \"aide\" ?"; case "ping": return "pong"; case "cafard": return "crick crick"; case "dit": return 'Chell : ' + argc.join(' ') + ''; case "bonjour": return "Bonjour à toi ^_^"; case "table": return tableStatus(); case "flip": return flip(true); case "unflip": return flip(false); case "mirios": return help(false); case "fullscreen": let res = toggleFullScreen(document.getElementById('cmd')); return "Fullscreen " + res; case "loquicom": return 'Lien vers mon Github : https://github.com/Loquicom'; case "rate": new Promise((resolve, reject) => { var audio = new Audio('./success.mp3'); audio.play(); }); return '
' + $('#lock').html() + '

Ouverture !'; default: // Commande inconnue return false; } }