mirror of
https://github.com/discourse/discourse.git
synced 2025-05-22 22:43:33 +08:00

This commit replaces two existing screens: - draft - channel selection modal Main features compared to existing solutions - features are now combined, meaning you can for example create multi users DM - it will show users with chat disabled - it shows unread state - hopefully a better look/feel - lots of small details and fixes... Other noticeable fixes - starting a DM with a user, even from the user card and clicking <kbd>Chat</kbd> will not show a green dot for the target user (or even the channel) until a message is actually sent - it should almost never do a full page reload anymore --------- Co-authored-by: Martin Brennan <mjrbrennan@gmail.com> Co-authored-by: Jordan Vidrine <30537603+jordanvidrine@users.noreply.github.com> Co-authored-by: chapoi <101828855+chapoi@users.noreply.github.com> Co-authored-by: Mark VanLandingham <markvanlan@gmail.com>
34 lines
1.0 KiB
JavaScript
34 lines
1.0 KiB
JavaScript
import Component from "@glimmer/component";
|
|
import { action } from "@ember/object";
|
|
import { ajax } from "discourse/lib/ajax";
|
|
import { popupAjaxError } from "discourse/lib/ajax-error";
|
|
import { inject as service } from "@ember/service";
|
|
|
|
export default class ChatRetentionReminder extends Component {
|
|
@service currentUser;
|
|
|
|
get show() {
|
|
return (
|
|
(this.args.channel?.isDirectMessageChannel &&
|
|
this.currentUser?.get("needs_dm_retention_reminder")) ||
|
|
(this.args.channel?.isCategoryChannel &&
|
|
this.currentUser?.get("needs_channel_retention_reminder"))
|
|
);
|
|
}
|
|
|
|
@action
|
|
dismiss() {
|
|
return ajax("/chat/dismiss-retention-reminder", {
|
|
method: "POST",
|
|
data: { chatable_type: this.args.channel.chatableType },
|
|
})
|
|
.then(() => {
|
|
const field = this.args.channel.isDirectMessageChannel
|
|
? "needs_dm_retention_reminder"
|
|
: "needs_channel_retention_reminder";
|
|
this.currentUser.set(field, false);
|
|
})
|
|
.catch(popupAjaxError);
|
|
}
|
|
}
|