diff --git a/assets/javascripts/discourse/connectors/category-custom-settings/donations_category_settings.hbs b/assets/javascripts/discourse/connectors/category-custom-settings/donations_category_settings.hbs index 42048b2..595c1a0 100644 --- a/assets/javascripts/discourse/connectors/category-custom-settings/donations_category_settings.hbs +++ b/assets/javascripts/discourse/connectors/category-custom-settings/donations_category_settings.hbs @@ -4,6 +4,11 @@ {{text-field value=category.custom_fields.donations_github placeholderKey="discourse_donations.cause.github.setting_placeholder"}} +
+ + {{text-field value=category.custom_fields.donations_meta placeholderKey="discourse_donations.cause.meta.setting_placeholder"}} +
+
{{user-selector usernames=category.custom_fields.donations_maintainers}} diff --git a/assets/javascripts/discourse/widgets/donations-category-header-widget.js.es6 b/assets/javascripts/discourse/widgets/donations-category-header-widget.js.es6 index 46811fa..9c011b1 100644 --- a/assets/javascripts/discourse/widgets/donations-category-header-widget.js.es6 +++ b/assets/javascripts/discourse/widgets/donations-category-header-widget.js.es6 @@ -33,6 +33,15 @@ createWidget('category-header-widget', { icon: 'github', label: 'discourse_donations.cause.github.label', href: category.donations_github + })), + h('div.donations-meta', this.attach('link', { + href: category.donations_meta, + contents: () => { + return [ + h('img.meta-icon', { attributes: { src: 'https://discourse-meta.s3.dualstack.us-west-1.amazonaws.com/original/3X/b/1/b19ba793155a785bbd9707bc0cabbd3a987fa126.png?v=6' }}), + h('span', I18n.t('discourse_donations.cause.meta.label')) + ]; + } })) ]) ]; diff --git a/assets/stylesheets/discourse-donations.scss b/assets/stylesheets/discourse-donations.scss index 248dd7a..da967e5 100644 --- a/assets/stylesheets/discourse-donations.scss +++ b/assets/stylesheets/discourse-donations.scss @@ -142,9 +142,21 @@ div.stripe-errors { margin-right: 5px; } - .donations-github a { + .donations-github a, .donations-meta a { color: inherit; } + + .donations-meta { + .widget-link { + display: flex; + align-items: center; + } + img { + width: 17px; + height: 17px; + margin-right: 4px; + } + } } .donations-category-users { diff --git a/config/locales/client.en.yml b/config/locales/client.en.yml index 352afa7..858c53a 100644 --- a/config/locales/client.en.yml +++ b/config/locales/client.en.yml @@ -48,6 +48,10 @@ en: label: "Repository" setting_label: "Github" setting_placeholder: "repoistory url" + meta: + label: "Discussion" + setting_label: "Meta" + setting_placeholder: "topic url" maintainers: label: "Maintainers" subscription: diff --git a/plugin.rb b/plugin.rb index 5a5547e..4d8bc45 100644 --- a/plugin.rb +++ b/plugin.rb @@ -83,6 +83,14 @@ after_initialize do '' end end + + def donations_meta + if custom_fields['donations_meta'] + custom_fields['donations_meta'] + else + '' + end + end end if SiteSetting.discourse_donations_cause_category @@ -96,6 +104,7 @@ after_initialize do ActiveModel::ArraySerializer.new(object.donations_maintainers, each_serializer: BasicUserSerializer).as_json } add_to_serializer(:basic_category, :donations_github) { object.donations_github } + add_to_serializer(:basic_category, :donations_meta) { object.donations_meta } end DiscourseEvent.trigger(:donations_ready)