From f7c6069742c010bfa984c579421033225044ffb4 Mon Sep 17 00:00:00 2001 From: Joffrey JAFFEUX Date: Fri, 3 Mar 2023 00:38:00 +0100 Subject: [PATCH] correctly hides retention reminder on click --- .../components/chat-retention-reminder.js | 35 ++++++++----------- 1 file changed, 15 insertions(+), 20 deletions(-) diff --git a/plugins/chat/assets/javascripts/discourse/components/chat-retention-reminder.js b/plugins/chat/assets/javascripts/discourse/components/chat-retention-reminder.js index 9d42dac1a5..06dd11e5ad 100644 --- a/plugins/chat/assets/javascripts/discourse/components/chat-retention-reminder.js +++ b/plugins/chat/assets/javascripts/discourse/components/chat-retention-reminder.js @@ -1,39 +1,34 @@ -import Component from "@ember/component"; -import discourseComputed from "discourse-common/utils/decorators"; +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 Component.extend({ - tagName: "", - loading: false, +export default class ChatRetentionReminder extends Component { + @service currentUser; - @discourseComputed( - "chatChannel.chatable_type", - "currentUser.{needs_dm_retention_reminder,needs_channel_retention_reminder}" - ) - show() { + get show() { return ( - !this.chatChannel.isDraft && - ((this.chatChannel.isDirectMessageChannel && - this.currentUser.needs_dm_retention_reminder) || - (this.chatChannel.isCategoryChannel && - this.currentUser.needs_channel_retention_reminder)) + !this.args.channel?.isDraft && + ((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.chatChannel.chatable_type }, + data: { chatable_type: this.args.channel.chatableType }, }) .then(() => { - const field = this.chatChannel.isDirectMessageChannel + const field = this.args.channel.isDirectMessageChannel ? "needs_dm_retention_reminder" : "needs_channel_retention_reminder"; this.currentUser.set(field, false); }) .catch(popupAjaxError); - }, -}); + } +}