From 996c5ea493835133fc10ad9ee22c79b75e478bf4 Mon Sep 17 00:00:00 2001 From: David Taylor Date: Fri, 24 Mar 2023 17:55:23 +0000 Subject: [PATCH] DEV: Use component references for user menu (#456) See https://github.com/discourse/discourse/commit/9b41700f878442cfe98738609c5485f168f7a237 for context. Passing a reference works before and after that change, so there is no need to introduce a discourse-compatibility entry. --- .../user-menu/assigns-list-empty-state.hbs | 0 .../user-menu/assigns-list-empty-state.js | 3 --- .../components/user-menu/assigns-list.js | 3 ++- .../initializers/assign-user-menu.js | 20 +++++-------------- 4 files changed, 7 insertions(+), 19 deletions(-) rename assets/javascripts/discourse/{templates => }/components/user-menu/assigns-list-empty-state.hbs (100%) delete mode 100644 assets/javascripts/discourse/components/user-menu/assigns-list-empty-state.js diff --git a/assets/javascripts/discourse/templates/components/user-menu/assigns-list-empty-state.hbs b/assets/javascripts/discourse/components/user-menu/assigns-list-empty-state.hbs similarity index 100% rename from assets/javascripts/discourse/templates/components/user-menu/assigns-list-empty-state.hbs rename to assets/javascripts/discourse/components/user-menu/assigns-list-empty-state.hbs diff --git a/assets/javascripts/discourse/components/user-menu/assigns-list-empty-state.js b/assets/javascripts/discourse/components/user-menu/assigns-list-empty-state.js deleted file mode 100644 index 8a402e0..0000000 --- a/assets/javascripts/discourse/components/user-menu/assigns-list-empty-state.js +++ /dev/null @@ -1,3 +0,0 @@ -import templateOnly from "@ember/component/template-only"; -// TODO: colocate this component's template -export default templateOnly(); diff --git a/assets/javascripts/discourse/components/user-menu/assigns-list.js b/assets/javascripts/discourse/components/user-menu/assigns-list.js index 3df29a1..552e104 100644 --- a/assets/javascripts/discourse/components/user-menu/assigns-list.js +++ b/assets/javascripts/discourse/components/user-menu/assigns-list.js @@ -6,6 +6,7 @@ import Notification from "discourse/models/notification"; import I18n from "I18n"; import showModal from "discourse/lib/show-modal"; import Topic from "discourse/models/topic"; +import UserMenuAssignsListEmptyState from "./assigns-list-empty-state"; export default class UserMenuAssignNotificationsList extends UserMenuNotificationsList { get dismissTypes() { @@ -33,7 +34,7 @@ export default class UserMenuAssignNotificationsList extends UserMenuNotificatio } get emptyStateComponent() { - return "user-menu/assigns-list-empty-state"; + return UserMenuAssignsListEmptyState; } async fetchItems() { diff --git a/assets/javascripts/discourse/initializers/assign-user-menu.js b/assets/javascripts/discourse/initializers/assign-user-menu.js index e5ad8b4..125aea9 100644 --- a/assets/javascripts/discourse/initializers/assign-user-menu.js +++ b/assets/javascripts/discourse/initializers/assign-user-menu.js @@ -1,4 +1,5 @@ import { withPluginApi } from "discourse/lib/plugin-api"; +import UserMenuAssignNotificationsList from "../components/user-menu/assigns-list"; export default { name: "assign-user-menu", @@ -17,26 +18,15 @@ export default { } api.registerUserMenuTab((UserMenuTab) => { return class extends UserMenuTab { - get id() { - return "assign-list"; - } - - get panelComponent() { - return "user-menu/assigns-list"; - } - - get icon() { - return "user-plus"; - } + id = "assign-list"; + panelComponent = UserMenuAssignNotificationsList; + icon = "user-plus"; + notificationTypes = ["assigned"]; get count() { return this.getUnreadCountForType("assigned"); } - get notificationTypes() { - return ["assigned"]; - } - get linkWhenActive() { return `${this.currentUser.path}/activity/assigned`; }