diff --git a/app/assets/javascripts/discourse/app/components/powered-by-discourse.gjs b/app/assets/javascripts/discourse/app/components/powered-by-discourse.gjs
new file mode 100644
index 00000000000..ee20e6151f7
--- /dev/null
+++ b/app/assets/javascripts/discourse/app/components/powered-by-discourse.gjs
@@ -0,0 +1,15 @@
+import icon from "discourse-common/helpers/d-icon";
+import i18n from "discourse-common/helpers/i18n";
+
+const PoweredByDiscourse =
+
+
+
+ {{icon "fab-discourse"}}
+
+ {{i18n "powered_by_discourse"}}
+
+
+;
+
+export default PoweredByDiscourse;
diff --git a/app/assets/javascripts/discourse/app/controllers/application.js b/app/assets/javascripts/discourse/app/controllers/application.js
index 5d35d7776e6..4f94116e354 100644
--- a/app/assets/javascripts/discourse/app/controllers/application.js
+++ b/app/assets/javascripts/discourse/app/controllers/application.js
@@ -59,6 +59,11 @@ export default Controller.extend({
return this.capabilities.isAppWebview || this.capabilities.isiOSPWA;
},
+ @discourseComputed
+ showPoweredBy() {
+ return this.showFooter && this.siteSettings.enable_powered_by_discourse;
+ },
+
_mainOutletAnimate() {
document.body.classList.remove("sidebar-animate");
},
diff --git a/app/assets/javascripts/discourse/app/templates/application.hbs b/app/assets/javascripts/discourse/app/templates/application.hbs
index 765aba5d480..222cee64d60 100644
--- a/app/assets/javascripts/discourse/app/templates/application.hbs
+++ b/app/assets/javascripts/discourse/app/templates/application.hbs
@@ -87,6 +87,10 @@
+
+ {{#if this.showPoweredBy}}
+
+ {{/if}}