script.js 4.9 KB

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