1+ import { hash } from " @ember/helper" ;
12import { on } from " @ember/modifier" ;
23import didInsert from " @ember/render-modifiers/modifiers/did-insert" ;
34import RouteTemplate from " ember-route-template" ;
4- import ConditionalLoadingSpinner from " discourse/components/conditional-loading-spinner" ;
55import DButton from " discourse/components/d-button" ;
6+ import PluginOutlet from " discourse/components/plugin-outlet" ;
67import { i18n } from " discourse-i18n" ;
78import AiPersonaLlmSelector from " discourse/plugins/discourse-ai/discourse/components/ai-persona-llm-selector" ;
89
@@ -16,31 +17,36 @@ export default RouteTemplate(
1617 />
1718
1819 <div class =" ai-bot-conversations__content-wrapper" >
19- <ConditionalLoadingSpinner @ condition ={{@ controller.loading }} >
20- <h1 >{{i18n " discourse_ai.ai_bot.conversations.header" }} </h1 >
21- <div class =" ai-bot-conversations__input-wrapper" >
22- <textarea
23- {{didInsert @ controller.setTextArea}}
24- {{on " input" @ controller.updateInputValue}}
25- {{on " keydown" @ controller.handleKeyDown}}
26- id =" ai-bot-conversations-input"
27- placeholder ={{i18n
28- " discourse_ai.ai_bot.conversations.placeholder"
29- }}
30- minlength =" 10"
31- rows =" 1"
32- />
33- <DButton
34- @ action ={{@ controller.aiBotConversationsHiddenSubmit.submitToBot }}
35- @ icon =" paper-plane"
36- @ title =" discourse_ai.ai_bot.conversations.header"
37- class =" ai-bot-button btn-primary ai-conversation-submit"
38- />
39- </div >
40- <p class =" ai-disclaimer" >
41- {{i18n " discourse_ai.ai_bot.conversations.disclaimer" }}
42- </p >
43- </ConditionalLoadingSpinner >
20+ <h1 >{{i18n " discourse_ai.ai_bot.conversations.header" }} </h1 >
21+ <PluginOutlet
22+ @ name =" ai-bot-conversations-above-input"
23+ @ outletArgs ={{hash
24+ updateInput =@ controller.updateInputValue
25+ submit =@ controller.aiBotConversationsHiddenSubmit.submitToBot
26+ }}
27+ />
28+ <div class =" ai-bot-conversations__input-wrapper" >
29+ <textarea
30+ {{didInsert @ controller.setTextArea}}
31+ {{on " input" @ controller.updateInputValue}}
32+ {{on " keydown" @ controller.handleKeyDown}}
33+ id =" ai-bot-conversations-input"
34+ placeholder ={{i18n " discourse_ai.ai_bot.conversations.placeholder" }}
35+ minlength =" 10"
36+ disabled ={{@ controller.loading }}
37+ rows =" 1"
38+ />
39+ <DButton
40+ @ action ={{@ controller.aiBotConversationsHiddenSubmit.submitToBot }}
41+ @ icon =" paper-plane"
42+ @ isLoading ={{@ controller.loading }}
43+ @ title =" discourse_ai.ai_bot.conversations.header"
44+ class =" ai-bot-button btn-primary ai-conversation-submit"
45+ />
46+ </div >
47+ <p class =" ai-disclaimer" >
48+ {{i18n " discourse_ai.ai_bot.conversations.disclaimer" }}
49+ </p >
4450 </div >
4551 </div >
4652 </template >
0 commit comments