footer-nav.js 1.2 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546
  1. (function (Misago) {
  2. 'use strict';
  3. var legalLink = function(_, legalType, defaultTitle) {
  4. var url = Misago.get(_.settings, legalType + '_link');
  5. if (!url && Misago.get(_.settings, legalType)) {
  6. url = _.router.url(legalType);
  7. }
  8. if (url) {
  9. return m('li',
  10. m('a', {href: url},
  11. Misago.get(_.settings, legalType + '_title', defaultTitle)
  12. )
  13. );
  14. } else {
  15. return null;
  16. }
  17. };
  18. Misago.FooterNav = {
  19. isVisible: function(settings) {
  20. return [
  21. !!settings.forum_footnote,
  22. !!settings.terms_of_service,
  23. !!settings.terms_of_service_link,
  24. !!settings.privacy_policy,
  25. !!settings.privacy_policy_link
  26. ].indexOf(true) !== -1;
  27. },
  28. view: function(ctrl, _) {
  29. var items = [];
  30. if (_.settings.forum_footnote) {
  31. items.push(m('li.forum-footnote', m.trust(_.settings.forum_footnote)));
  32. }
  33. items.push(
  34. legalLink(_, 'terms_of_service', gettext('Terms of service')));
  35. items.push(
  36. legalLink(_, 'privacy_policy', gettext('Privacy policy')));
  37. return m('ul.list-inline.footer-nav', items);
  38. }
  39. };
  40. }(Misago.prototype));