Nie możesz wybrać więcej, niż 25 tematów Tematy muszą się zaczynać od litery lub cyfry, mogą zawierać myślniki ('-') i mogą mieć do 35 znaków.

39 lines
1.3KB

  1. (function (window, document, undefined) {
  2. 'use strict';
  3. const form = document.forms.generator;
  4. form.reset();
  5. const isOnlineHelp = document.URL.includes('localhost:1414');
  6. if (!isOnlineHelp) return;
  7. form.querySelector('.js-useonlinehelp').style.display = 'none';
  8. if (window.navigator.onLine) {
  9. form.querySelector('.js-disconnect').style.display = 'block';
  10. }
  11. const activate = () => {
  12. form.querySelector('.js-disconnect').style.display = 'block';
  13. form.generate.disabled = true;
  14. form.address.disabled = true;
  15. form.address.value = '';
  16. form.generate.classList.add('muted');
  17. };
  18. const deactivate = () => {
  19. form.querySelector('.js-disconnect').style.display = 'none';
  20. form.generate.disabled = false;
  21. form.address.disabled = false;
  22. form.generate.classList.remove('muted');
  23. };
  24. window.addEventListener('online', activate);
  25. window.addEventListener('offline', deactivate);
  26. if (!window.navigator.onLine) deactivate();
  27. form.addEventListener('submit', evt => {
  28. evt.preventDefault();
  29. const isLocal = document.location.host.includes('localhost');
  30. const hasSameOrigin = form.action.includes(document.location.origin);
  31. if (isLocal && hasSameOrigin) {
  32. evt.target.submit();
  33. } else {
  34. form.querySelector('.js-usesameorigin').style.display = 'block';
  35. deactivate();
  36. }
  37. })
  38. })(window, document);