From 7dba54d32c56fcc0b22df32e3993b4b379ab7aea Mon Sep 17 00:00:00 2001 From: scavin Date: Tue, 23 Sep 2025 22:54:16 +0800 Subject: [PATCH 1/2] Fix deprecation warning: Move mobileView check from initialization to component rendering - Remove deprecated site.mobileView access during plugin initialization - Move mobile/desktop view detection to component rendering phase - Add @service site injection to component - Register both before/after outlets with conditional rendering - Fixes Discourse 3.5.0.beta9-dev deprecation warning for static-viewport-initialization --- .../initialize-discourse-post-badges.gjs | 32 +++++++++++++++---- 1 file changed, 25 insertions(+), 7 deletions(-) diff --git a/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs b/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs index 4a41e4b..d4b7625 100644 --- a/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs +++ b/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs @@ -61,8 +61,6 @@ export default { initialize(container) { withPluginApi((api) => { const siteSettings = container.lookup("service:site-settings"); - const isMobileView = container.lookup("service:site").mobileView; - const location = isMobileView ? "before" : "after"; let containerClassname = ["poster-icon-container"]; if (siteSettings.post_badges_only_show_highest_trust_level) { @@ -73,6 +71,7 @@ export default { const component = class extends Component { @service siteSettings; + @service site; get badges() { const { user_badges: allBadges, username } = this.outletArgs.post; @@ -92,6 +91,10 @@ export default { .join(" "); } + get shouldRenderBefore() { + return this.site.mobileView; + } + }; - if (location === "before") { - api.renderBeforeWrapperOutlet("post-meta-data-poster-name", component); - } else { - api.renderAfterWrapperOutlet("post-meta-data-poster-name", component); - } + // Register both outlets and let the component decide when to render + api.renderBeforeWrapperOutlet("post-meta-data-poster-name", class extends component { + + }); + + api.renderAfterWrapperOutlet("post-meta-data-poster-name", class extends component { + + }); }); }, }; From ba98333d627d0cc672d52e808cc7ec9de9ed6c30 Mon Sep 17 00:00:00 2001 From: scavin Date: Wed, 24 Sep 2025 11:27:40 +0800 Subject: [PATCH 2/2] Fix code formatting with Prettier --- .../initialize-discourse-post-badges.gjs | 44 +++++++++++-------- 1 file changed, 25 insertions(+), 19 deletions(-) diff --git a/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs b/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs index d4b7625..1b8e89b 100644 --- a/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs +++ b/assets/javascripts/discourse/initializers/initialize-discourse-post-badges.gjs @@ -103,25 +103,31 @@ export default { }; // Register both outlets and let the component decide when to render - api.renderBeforeWrapperOutlet("post-meta-data-poster-name", class extends component { - - }); - - api.renderAfterWrapperOutlet("post-meta-data-poster-name", class extends component { - - }); + api.renderBeforeWrapperOutlet( + "post-meta-data-poster-name", + class extends component { + + } + ); + + api.renderAfterWrapperOutlet( + "post-meta-data-poster-name", + class extends component { + + } + ); }); }, };