script.js 5.2 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129
  1. function toggleFullScreen(elem) {
  2. // ## The below if statement seems to work better ## if ((document.fullScreenElement && document.fullScreenElement !== null) || (document.msfullscreenElement && document.msfullscreenElement !== null) || (!document.mozFullScreen && !document.webkitIsFullScreen)) {
  3. if ((document.fullScreenElement !== undefined && document.fullScreenElement === null) || (document.msFullscreenElement !== undefined && document.msFullscreenElement === null) || (document.mozFullScreen !== undefined && !document.mozFullScreen) || (document.webkitIsFullScreen !== undefined && !document.webkitIsFullScreen)) {
  4. if (elem.requestFullScreen) {
  5. elem.requestFullScreen();
  6. } else if (elem.mozRequestFullScreen) {
  7. elem.mozRequestFullScreen();
  8. } else if (elem.webkitRequestFullScreen) {
  9. elem.webkitRequestFullScreen(Element.ALLOW_KEYBOARD_INPUT);
  10. } else if (elem.msRequestFullscreen) {
  11. elem.msRequestFullscreen();
  12. }
  13. return "on";
  14. } else {
  15. if (document.cancelFullScreen) {
  16. document.cancelFullScreen();
  17. } else if (document.mozCancelFullScreen) {
  18. document.mozCancelFullScreen();
  19. } else if (document.webkitCancelFullScreen) {
  20. document.webkitCancelFullScreen();
  21. } else if (document.msExitFullscreen) {
  22. document.msExitFullscreen();
  23. }
  24. return 'off';
  25. }
  26. }
  27. function help(hide = false) {
  28. let str = 'Liste des commandes disponibles :<br/>';
  29. str += '&nbsp;&nbsp;- aide : Affiche ce message d&apos;aide<br/>';
  30. str += '&nbsp;&nbsp;- bonjour : Formule de politesse<br/>';
  31. str += '&nbsp;&nbsp;- dit &lt;mot&gt;: R&eacute;p&egrave;te le mot<br/>';
  32. str += '&nbsp;&nbsp;- ping : Vérifie la connexion au terminal<br/>';
  33. str += '&nbsp;&nbsp;- cafard : Peut-&ecirc;tre un bug ?<br/>';
  34. str += '&nbsp;&nbsp;- flip : Pour exprimer sa col&egrave;re<br/>';
  35. str += '&nbsp;&nbsp;- unflip : Pour nettoyer après la col&egrave;re<br/>';
  36. str += '&nbsp;&nbsp;- table : Elle est belle ma table<br/>';
  37. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">rate : Ouvre la porte</span><br/>';
  38. if (hide) {
  39. str += '<br/>Erreur lors de la récupération de certaines commandes';
  40. } else {
  41. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">mirios : Affiche ce message d&apos;aide (mais sans les erreurs)</span><br/>';
  42. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">fullscreen : Active/D&eacute;sactive le mode plein écran</span><br/>';
  43. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">loquicom : C&apos;est moi le cr&eacute;ateur</span><br/>';
  44. }
  45. return str;
  46. }
  47. let table = true;
  48. function flip(state) {
  49. // Si on flip et qu'il y a la table
  50. if (state && table) {
  51. table = false;
  52. return '(╯°□°)╯︵ ┻━┻';
  53. }
  54. // Si on flip sans table
  55. else if (state) {
  56. return 'La table est d&eacute;j&agrave; &agrave; l&apos;envers T_T';
  57. }
  58. // Si on ne flip pas et qu'il n'y à pas la table
  59. else if (!state && !table) {
  60. table = true;
  61. return '┬─┬ノ( º _ ºノ)';
  62. }
  63. // Sinon on ne flip pas et la table est déjà la
  64. else {
  65. return 'La table est d&eacute;j&agrave; bien &agrave; sa place \\o/';
  66. }
  67. }
  68. function tableStatus() {
  69. if (table) {
  70. return '┬─┬';
  71. } else {
  72. return '┻━┻';
  73. }
  74. }
  75. function cmd() {
  76. const shell = new Cmd({
  77. selector: '#cmd',
  78. busy_text: 'Traitement...',
  79. unknown_cmd: 'Commande non reconnue, tapez "aide" pour avoir la liste des commandes disponibles',
  80. external_processor: processor
  81. });
  82. shell.setPrompt("[chell@glad.os] ➜ ");
  83. }
  84. function processor(input, cmd) {
  85. input = input.toLowerCase().replaceAll('é', 'e').replaceAll('è', 'e').replaceAll('à', 'a');
  86. const argc = input.split(" ");
  87. const command = argc.shift();
  88. switch (command) {
  89. case "aide":
  90. return help(true);
  91. case "help":
  92. return "Commande inconnue voulez-vous dire \"aide\" ?";
  93. case "ping":
  94. return "pong";
  95. case "cafard":
  96. return "crick crick";
  97. case "dit":
  98. return 'Chell&nbsp;:&nbsp;<b>' + argc.join(' ') + '</b>';
  99. case "bonjour":
  100. return "Bonjour à toi ^_^";
  101. case "table":
  102. return tableStatus();
  103. case "flip":
  104. return flip(true);
  105. case "unflip":
  106. return flip(false);
  107. case "mirios":
  108. return help(false);
  109. case "fullscreen":
  110. let res = toggleFullScreen(document.getElementById('cmd'));
  111. return "Fullscreen " + res;
  112. case "loquicom":
  113. return 'Lien vers mon Github : https://github.com/Loquicom';
  114. case "rate":
  115. new Promise((resolve, reject) => {
  116. var audio = new Audio('./success.mp3');
  117. audio.play();
  118. });
  119. return '<div class="ascii">' + $('#lock').html() + '</div><br/>Ouverture !';
  120. default:
  121. // Commande inconnue
  122. return false;
  123. }
  124. }