jsalert.tx 1.9 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657
  1. <script>
  2. document.addEventListener("DOMContentLoaded", function(event) {
  3. // Defined-or, not a ternary: success is 0, which is falsy, so the old
  4. // test collapsed every success to -1 and hid the banner entirely.
  5. var loginFailure = <: $failure // -1 :>;
  6. if( loginFailure === -1 ) {
  7. document.querySelector('#jsalert').style.cssText = 'display:none;';
  8. } else if ( loginFailure === 1 ) {
  9. document.querySelector('#jsalert').classList.remove("alert-success");
  10. document.querySelector('#jsalert').classList.add("alert-danger");
  11. document.querySelector('#msgIcon').innerHTML = "❌";
  12. document.querySelector('#message').innerHTML = "<: $message :>";
  13. } else {
  14. document.querySelector('#jsalert').classList.remove("alert-danger");
  15. document.querySelector('#jsalert').classList.add("alert-success");
  16. document.querySelector('#msgIcon').innerHTML = "✓";
  17. document.querySelector('#message').innerHTML = "<: $message :>";
  18. : if ($to) {
  19. //JS redir better ux than 302
  20. window.setTimeout(function() {
  21. window.location="<: $to :>";
  22. }, 500);
  23. : }
  24. }
  25. });
  26. </script>
  27. <style>
  28. #jsalert {
  29. margin: 1rem;
  30. border-radius: .75rem;
  31. border-color: rgba(255,0,0,.75);
  32. padding: 1rem;
  33. margin-top: 3rem;
  34. position: fixed;
  35. width:95%;
  36. }
  37. .alert-danger {
  38. background-color: rgba(100,0,0,.95);
  39. }
  40. .alert-success {
  41. background-color: rgba(0,255,0,.95);
  42. }
  43. </style>
  44. <div id="jsalert" class="alert-danger">
  45. <table>
  46. <tr>
  47. <td id="msgIcon">
  48. ⚠
  49. </td>
  50. <td id="message" style="padding-left: 1rem;">
  51. Please enable JavaScript on this domain.
  52. </td>
  53. </tr>
  54. </table>
  55. </div>