mirror of
https://github.com/discourse/discourse.git
synced 2025-04-02 15:59:34 +08:00

This PR swaps out the custom pathway to publishing and rendering mention warnings after a message is sent. ChatPublisher#publish_notice is used, and expanded. Now, instead of only accepting text_content as an argument, component and component_args are accepted and there is a renderer for these components. Translations moved to server, as notices expect text to be passed in unless a component is rendered The warnings are rendered at the top now, outside of the scope of the single message that sent it. I entirely removed the jit_messages_spec b/c it's duplicate testing of other parts of the app. IMO we don't need a backend test for a feature, a component test for the feature AND a system test (that is slow and potentially even flakey due to timing issues with wait) to test the same thing. So jit_messages_spec is gone.
22 lines
646 B
JavaScript
22 lines
646 B
JavaScript
import Component from "@glimmer/component";
|
|
import MentionWithoutMembership from "discourse/plugins/chat/discourse/components/chat/notices/mention_without_membership";
|
|
import { action } from "@ember/object";
|
|
import { inject as service } from "@ember/service";
|
|
|
|
const COMPONENT_DICT = {
|
|
mention_without_membership: MentionWithoutMembership,
|
|
};
|
|
|
|
export default class ChatNotices extends Component {
|
|
@service("chat-channel-pane-subscriptions-manager") subscriptionsManager;
|
|
|
|
@action
|
|
clearNotice() {
|
|
this.subscriptionsManager.clearNotice(this.args.notice);
|
|
}
|
|
|
|
get component() {
|
|
return COMPONENT_DICT[this.args.notice.type];
|
|
}
|
|
}
|