index.js 1.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142
  1. var origins = Origins()
  2. var settings = Settings()
  3. m.mount(document.querySelector('main'), {
  4. view: () => [
  5. origins.render(),
  6. settings.render(),
  7. ]
  8. })
  9. // header menu
  10. document.querySelector('#menu span').addEventListener('click', (e) => {
  11. e.preventDefault()
  12. document.querySelector('#menu div').classList.toggle('hidden')
  13. })
  14. document.querySelector('#menu div').addEventListener('click', (e) => {
  15. Array.from(document.querySelectorAll('#menu em')).forEach((link) => {
  16. link.classList.remove('active')
  17. })
  18. if (e.target.innerText === 'Manage Origins') {
  19. document.querySelector('.m-origins').classList.remove('hidden')
  20. document.querySelector('.m-settings').classList.add('hidden')
  21. e.target.classList.add('active')
  22. }
  23. else if (e.target.innerText === 'Settings') {
  24. document.querySelector('.m-origins').classList.add('hidden')
  25. document.querySelector('.m-settings').classList.remove('hidden')
  26. e.target.classList.add('active')
  27. }
  28. else if (e.target.innerText === 'Help') {
  29. window.location = 'https://github.com/simov/markdown-viewer#table-of-contents'
  30. }
  31. document.querySelector('#menu div').classList.add('hidden')
  32. })
  33. // ff: set appropriate footer icon
  34. document.querySelector('.icon-' + (
  35. /Firefox/.test(navigator.userAgent) ? 'firefox' :
  36. /Edg/.test(navigator.userAgent) ? 'edge' :
  37. 'chrome'
  38. )).classList.remove('icon-hidden')