support.js 1.2 KB

1234567891011121314151617181920212223242526272829303132333435363738394041
  1. import { ReactiveCache } from '/imports/reactiveCache';
  2. import { TAPi18n } from '/imports/i18n';
  3. // Shared helpers for both support templates
  4. const supportHelpers = {
  5. supportTitle() {
  6. const setting = ReactiveCache.getCurrentSetting();
  7. return setting && setting.supportTitle ? setting.supportTitle : TAPi18n.__('support');
  8. },
  9. supportContent() {
  10. const setting = ReactiveCache.getCurrentSetting();
  11. return setting && setting.supportPageText ? setting.supportPageText : TAPi18n.__('support-info-not-added-yet');
  12. },
  13. isSupportEnabled() {
  14. const setting = ReactiveCache.getCurrentSetting();
  15. return setting && setting.supportPageEnabled;
  16. },
  17. isSupportPublic() {
  18. const setting = ReactiveCache.getCurrentSetting();
  19. return setting && setting.supportPagePublic;
  20. }
  21. };
  22. // Main support page component
  23. BlazeComponent.extendComponent({
  24. onCreated() {
  25. this.error = new ReactiveVar('');
  26. this.loading = new ReactiveVar(false);
  27. Meteor.subscribe('setting');
  28. },
  29. ...supportHelpers
  30. }).register('support');
  31. // Header bar component
  32. BlazeComponent.extendComponent({
  33. onCreated() {
  34. Meteor.subscribe('setting');
  35. },
  36. ...supportHelpers
  37. }).register('supportHeaderBar');