script.js 5.0 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126
  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' : '') + '">oziquo : Affiche ce message d&apos;aide (mais sans les erreurs)</span><br/>';
  38. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">fullscreen : Active/D&eacute;sactive le mode plein écran</span><br/>';
  39. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">rate : Ouvre la porte</span><br/>';
  40. str += '&nbsp;&nbsp;- <span class="' + ((hide) ? 'covenant' : '') + '">loquicom : C&apos;est moi le cr&eacute;ateur</span><br/>';
  41. if (hide) {
  42. str += '<br/>Erreur lors de la récupération de certaines commandes';
  43. }
  44. return str;
  45. }
  46. let table = true;
  47. function flip(state) {
  48. // Si on flip et qu'il y a la table
  49. if (state && table) {
  50. table = false;
  51. return '(╯°□°)╯︵ ┻━┻';
  52. }
  53. // Si on flip sans table
  54. else if (state) {
  55. return 'La table est d&eacute;j&agrave; &agrave; l&apos;envers T_T';
  56. }
  57. // Si on ne flip pas et qu'il n'y à pas la table
  58. else if (!state && !table) {
  59. table = true;
  60. return '┬─┬ノ( º _ ºノ)';
  61. }
  62. // Sinon on ne flip pas et la table est déjà la
  63. else {
  64. return 'La table est d&eacute;j&agrave; bien &agrave; sa place \\o/';
  65. }
  66. }
  67. function tableStatus() {
  68. if (table) {
  69. return '┬─┬'
  70. } else {
  71. return '┻━┻';
  72. }
  73. }
  74. function cmd() {
  75. const shell = new Cmd({
  76. selector: '#cmd',
  77. busy_text: 'Traitement...',
  78. unknown_cmd: 'Commande non reconnue, tapez "aide" pour avoir la liste des commandes disponibles',
  79. external_processor: processor
  80. });
  81. shell.setPrompt("[chell@glad.os] ➜ ");
  82. }
  83. function processor(input, cmd) {
  84. input = input.toLowerCase().replaceAll('é', 'e').replaceAll('è', 'e').replaceAll('à', 'a');
  85. const argc = input.split(" ");
  86. const command = argc.shift();
  87. switch (command) {
  88. case "aide":
  89. return help(true);
  90. case "ping":
  91. return "pong";
  92. case "cafard":
  93. return "crick crick";
  94. case "dit":
  95. return 'Chell&nbsp;:&nbsp;<b>' + argc.join(' ') + '</b>';
  96. case "bonjour":
  97. return "Bonjour à toi ^_^";
  98. case "table":
  99. return tableStatus();
  100. case "flip":
  101. return flip(true);
  102. case "unflip":
  103. return flip(false);
  104. case "oziquo":
  105. return help(false);
  106. case "fullscreen":
  107. let res = toggleFullScreen(document.getElementById('cmd'));
  108. return "Fullscreen " + res;
  109. case "loquicom":
  110. return 'Lien vers mon Github : https://github.com/Loquicom';
  111. case "rate":
  112. new Promise((resolve, reject) => {
  113. var audio = new Audio('./success.mp3');
  114. audio.play();
  115. });
  116. return '<div class="ascii">' + $('#lock').html() + '</div><br/>Ouverture !';
  117. default:
  118. // Commande inconnue
  119. return false;
  120. }
  121. }