From 925949de47c7effba3b5fdd894bf035c30068390 Mon Sep 17 00:00:00 2001 From: Guhyoun Nam <70915823+rngus2344@users.noreply.github.com> Date: Fri, 16 May 2025 12:25:16 -0500 Subject: [PATCH] DEV: Add multiple appEvents trigger on AI Chatbot (#1324) * DEV: Add appEvents trigger on AI Chatbot header icon * update event name * stop-forcing-custom-sidebar appevents trigger * add force stop custom sidebar appEvents * trigger name update * trigger name update --- .../javascripts/discourse/components/ai-bot-header-icon.gjs | 2 ++ .../discourse/services/ai-conversations-sidebar-manager.js | 4 ++++ 2 files changed, 6 insertions(+) diff --git a/assets/javascripts/discourse/components/ai-bot-header-icon.gjs b/assets/javascripts/discourse/components/ai-bot-header-icon.gjs index 8821e91a..4d5546c7 100644 --- a/assets/javascripts/discourse/components/ai-bot-header-icon.gjs +++ b/assets/javascripts/discourse/components/ai-bot-header-icon.gjs @@ -10,6 +10,7 @@ import { composeAiBotMessage } from "../lib/ai-bot-helper"; import { AI_CONVERSATIONS_PANEL } from "../services/ai-conversations-sidebar-manager"; export default class AiBotHeaderIcon extends Component { + @service appEvents; @service composer; @service currentUser; @service navigationMenu; @@ -51,6 +52,7 @@ export default class AiBotHeaderIcon extends Component { } if (this.siteSettings.ai_bot_enable_dedicated_ux) { + this.appEvents.trigger("discourse-ai:bot-header-icon-clicked"); return this.router.transitionTo("discourse-ai-bot-conversations"); } diff --git a/assets/javascripts/discourse/services/ai-conversations-sidebar-manager.js b/assets/javascripts/discourse/services/ai-conversations-sidebar-manager.js index c79ffe59..e85fca0c 100644 --- a/assets/javascripts/discourse/services/ai-conversations-sidebar-manager.js +++ b/assets/javascripts/discourse/services/ai-conversations-sidebar-manager.js @@ -5,6 +5,7 @@ import { ADMIN_PANEL, MAIN_PANEL } from "discourse/lib/sidebar/panels"; export const AI_CONVERSATIONS_PANEL = "ai-conversations"; export default class AiConversationsSidebarManager extends Service { + @service appEvents; @service sidebarState; @tracked newTopicForceSidebar = false; @@ -26,6 +27,7 @@ export default class AiConversationsSidebarManager extends Service { this.sidebarState.isForcingSidebar = true; document.body.classList.add("has-ai-conversations-sidebar"); + this.appEvents.trigger("discourse-ai:force-conversations-sidebar"); return true; } @@ -41,5 +43,7 @@ export default class AiConversationsSidebarManager extends Service { this.sidebarState.setPanel(MAIN_PANEL); // Return to main sidebar panel this.sidebarState.isForcingSidebar = false; } + + this.appEvents.trigger("discourse-ai:stop-forcing-conversations-sidebar"); } }