diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/edit.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/edit.gjs
new file mode 100644
index 00000000..803c2725
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/edit.gjs
@@ -0,0 +1,11 @@
+import RouteTemplate from "ember-route-template";
+import AiEmbeddingsListEditor from "../../../../../discourse/components/ai-embeddings-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/edit.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/edit.hbs
deleted file mode 100644
index 8ec8776f..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/edit.hbs
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/index.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/index.gjs
new file mode 100644
index 00000000..3c98b782
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/index.gjs
@@ -0,0 +1,8 @@
+import RouteTemplate from "ember-route-template";
+import AiEmbeddingsListEditor from "../../../../../discourse/components/ai-embeddings-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/index.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/index.hbs
deleted file mode 100644
index 8226d03c..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/index.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/new.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/new.gjs
new file mode 100644
index 00000000..803c2725
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/new.gjs
@@ -0,0 +1,11 @@
+import RouteTemplate from "ember-route-template";
+import AiEmbeddingsListEditor from "../../../../../discourse/components/ai-embeddings-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/new.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/new.hbs
deleted file mode 100644
index 8ec8776f..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-embeddings/new.hbs
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-features/index.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-features/index.gjs
new file mode 100644
index 00000000..b71919e1
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-features/index.gjs
@@ -0,0 +1,6 @@
+import RouteTemplate from "ember-route-template";
+import AiFeatures from "../../../../../discourse/components/ai-features";
+
+export default RouteTemplate(
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-features/index.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-features/index.hbs
deleted file mode 100644
index d0193ebe..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-features/index.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/edit.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/edit.gjs
new file mode 100644
index 00000000..05f97a9c
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/edit.gjs
@@ -0,0 +1,11 @@
+import RouteTemplate from "ember-route-template";
+import AiLlmsListEditor from "../../../../../discourse/components/ai-llms-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/edit.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/edit.hbs
deleted file mode 100644
index 77f3b0f3..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/edit.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/index.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/index.gjs
new file mode 100644
index 00000000..3eb7805e
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/index.gjs
@@ -0,0 +1,6 @@
+import RouteTemplate from "ember-route-template";
+import AiLlmsListEditor from "../../../../../discourse/components/ai-llms-list-editor";
+
+export default RouteTemplate(
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/index.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/index.hbs
deleted file mode 100644
index e1ab7f35..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/index.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/new.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/new.gjs
new file mode 100644
index 00000000..30a4d786
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/new.gjs
@@ -0,0 +1,12 @@
+import RouteTemplate from "ember-route-template";
+import AiLlmsListEditor from "../../../../../discourse/components/ai-llms-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/new.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/new.hbs
deleted file mode 100644
index cfc02f05..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-llms/new.hbs
+++ /dev/null
@@ -1,5 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/edit.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/edit.gjs
new file mode 100644
index 00000000..5f0b877e
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/edit.gjs
@@ -0,0 +1,11 @@
+import RouteTemplate from "ember-route-template";
+import AiPersonaListEditor from "../../../../../discourse/components/ai-persona-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/edit.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/edit.hbs
deleted file mode 100644
index a3173af4..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/edit.hbs
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/index.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/index.gjs
new file mode 100644
index 00000000..c70dbb0c
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/index.gjs
@@ -0,0 +1,6 @@
+import RouteTemplate from "ember-route-template";
+import AiPersonaListEditor from "../../../../../discourse/components/ai-persona-list-editor";
+
+export default RouteTemplate(
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/index.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/index.hbs
deleted file mode 100644
index 74bb4581..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/index.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/new.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/new.gjs
new file mode 100644
index 00000000..5f0b877e
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/new.gjs
@@ -0,0 +1,11 @@
+import RouteTemplate from "ember-route-template";
+import AiPersonaListEditor from "../../../../../discourse/components/ai-persona-list-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/new.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/new.hbs
deleted file mode 100644
index a3173af4..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-personas/new.hbs
+++ /dev/null
@@ -1,4 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-spam.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-spam.gjs
new file mode 100644
index 00000000..52a95979
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-spam.gjs
@@ -0,0 +1,6 @@
+import RouteTemplate from "ember-route-template";
+import AiSpam from "../../../../discourse/components/ai-spam";
+
+export default RouteTemplate(
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-spam.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-spam.hbs
deleted file mode 100644
index f9946ef9..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-spam.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/edit.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/edit.gjs
new file mode 100644
index 00000000..e6f29cda
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/edit.gjs
@@ -0,0 +1,16 @@
+import RouteTemplate from "ember-route-template";
+import AiToolEditor from "../../../../../discourse/components/ai-tool-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/edit.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/edit.hbs
deleted file mode 100644
index 444f6966..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/edit.hbs
+++ /dev/null
@@ -1,9 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/index.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/index.gjs
new file mode 100644
index 00000000..1b21d706
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/index.gjs
@@ -0,0 +1,6 @@
+import RouteTemplate from "ember-route-template";
+import AiToolListEditor from "../../../../../discourse/components/ai-tool-list-editor";
+
+export default RouteTemplate(
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/index.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/index.hbs
deleted file mode 100644
index 1b0dbe81..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/index.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/new.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/new.gjs
new file mode 100644
index 00000000..36a01778
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/new.gjs
@@ -0,0 +1,17 @@
+import RouteTemplate from "ember-route-template";
+import AiToolEditor from "../../../../../discourse/components/ai-tool-editor";
+
+export default RouteTemplate(
+
+
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/new.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/new.hbs
deleted file mode 100644
index cc036e76..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-tools/new.hbs
+++ /dev/null
@@ -1,10 +0,0 @@
-
\ No newline at end of file
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-usage.gjs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-usage.gjs
new file mode 100644
index 00000000..668f1c31
--- /dev/null
+++ b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-usage.gjs
@@ -0,0 +1,6 @@
+import RouteTemplate from "ember-route-template";
+import AiUsage from "../../../../discourse/components/ai-usage";
+
+export default RouteTemplate(
+
+);
diff --git a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-usage.hbs b/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-usage.hbs
deleted file mode 100644
index e1592fc9..00000000
--- a/admin/assets/javascripts/discourse/templates/admin-plugins/show/discourse-ai-usage.hbs
+++ /dev/null
@@ -1 +0,0 @@
-
\ No newline at end of file
diff --git a/assets/javascripts/discourse/components/admin-report-emotion.gjs b/assets/javascripts/discourse/components/admin-report-emotion.gjs
new file mode 100644
index 00000000..d131707e
--- /dev/null
+++ b/assets/javascripts/discourse/components/admin-report-emotion.gjs
@@ -0,0 +1,89 @@
+import Component from "@ember/component";
+import { attributeBindings, classNames } from "@ember-decorators/component";
+import icon from "discourse/helpers/d-icon";
+import number from "discourse/helpers/number";
+import getURL from "discourse/lib/get-url";
+
+@classNames("admin-report-counters")
+@attributeBindings("model.description:title")
+export default class AdminReportEmotion extends Component {
+ get todayLink() {
+ let date = moment().format("YYYY-MM-DD");
+ return this._filterURL(date);
+ }
+
+ get yesterdayLink() {
+ let date = moment().subtract(1, "day").format("YYYY-MM-DD");
+ return this._filterURL(date);
+ }
+
+ get lastSevenDaysLink() {
+ let date = moment().subtract(1, "week").format("YYYY-MM-DD");
+ return this._filterURL(date);
+ }
+
+ get lastThirtyDaysLink() {
+ let date = moment().subtract(1, "month").format("YYYY-MM-DD");
+ return this._filterURL(date);
+ }
+
+ _baseFilter() {
+ return "/filter?q=activity-after%3A";
+ }
+
+ _model() {
+ return "%20order%3A" + this.model.type;
+ }
+
+ _filterURL(date) {
+ return getURL(`${this._baseFilter()}${date}${this._model()}`);
+ }
+
+
+
+ {{#if this.model.icon}}
+ {{icon this.model.icon}}
+ {{/if}}
+ {{this.model.title}}
+
+
+
+
+
+
+
+
+
+
+}
diff --git a/assets/javascripts/discourse/components/admin-report-emotion.hbs b/assets/javascripts/discourse/components/admin-report-emotion.hbs
deleted file mode 100644
index 08298b7c..00000000
--- a/assets/javascripts/discourse/components/admin-report-emotion.hbs
+++ /dev/null
@@ -1,45 +0,0 @@
-
- {{#if this.model.icon}}
- {{d-icon this.model.icon}}
- {{/if}}
- {{this.model.title}}
-
-
-
-
-
-
-
-
-
\ No newline at end of file
diff --git a/assets/javascripts/discourse/components/admin-report-emotion.js b/assets/javascripts/discourse/components/admin-report-emotion.js
deleted file mode 100644
index 7d7cccc1..00000000
--- a/assets/javascripts/discourse/components/admin-report-emotion.js
+++ /dev/null
@@ -1,39 +0,0 @@
-import Component from "@ember/component";
-import { attributeBindings, classNames } from "@ember-decorators/component";
-import getURL from "discourse/lib/get-url";
-
-@classNames("admin-report-counters")
-@attributeBindings("model.description:title")
-export default class AdminReportEmotion extends Component {
- get todayLink() {
- let date = moment().format("YYYY-MM-DD");
- return this._filterURL(date);
- }
-
- get yesterdayLink() {
- let date = moment().subtract(1, "day").format("YYYY-MM-DD");
- return this._filterURL(date);
- }
-
- get lastSevenDaysLink() {
- let date = moment().subtract(1, "week").format("YYYY-MM-DD");
- return this._filterURL(date);
- }
-
- get lastThirtyDaysLink() {
- let date = moment().subtract(1, "month").format("YYYY-MM-DD");
- return this._filterURL(date);
- }
-
- _baseFilter() {
- return "/filter?q=activity-after%3A";
- }
-
- _model() {
- return "%20order%3A" + this.model.type;
- }
-
- _filterURL(date) {
- return getURL(`${this._baseFilter()}${date}${this._model()}`);
- }
-}
diff --git a/assets/javascripts/discourse/components/model-accuracies.gjs b/assets/javascripts/discourse/components/model-accuracies.gjs
new file mode 100644
index 00000000..f1a66b27
--- /dev/null
+++ b/assets/javascripts/discourse/components/model-accuracies.gjs
@@ -0,0 +1,19 @@
+import { i18n } from "discourse-i18n";
+
+const ModelAccuracies =
+ {{#if @accuracies}}
+
+
+ {{#each-in @accuracies as |model acc|}}
+
+ {{i18n "discourse_ai.reviewables.model_used"}} |
+ {{model}} |
+ {{i18n "discourse_ai.reviewables.accuracy"}} |
+ {{acc}}% |
+
+ {{/each-in}}
+
+
+ {{/if}}
+;
+export default ModelAccuracies;
diff --git a/assets/javascripts/discourse/components/model-accuracies.hbs b/assets/javascripts/discourse/components/model-accuracies.hbs
deleted file mode 100644
index e2dc68a0..00000000
--- a/assets/javascripts/discourse/components/model-accuracies.hbs
+++ /dev/null
@@ -1,14 +0,0 @@
-{{#if @accuracies}}
-
-
- {{#each-in @accuracies as |model acc|}}
-
- {{i18n "discourse_ai.reviewables.model_used"}} |
- {{model}} |
- {{i18n "discourse_ai.reviewables.accuracy"}} |
- {{acc}}% |
-
- {{/each-in}}
-
-
-{{/if}}
\ No newline at end of file
diff --git a/assets/javascripts/discourse/components/reviewable-ai-chat-message.gjs b/assets/javascripts/discourse/components/reviewable-ai-chat-message.gjs
new file mode 100644
index 00000000..851dbe7e
--- /dev/null
+++ b/assets/javascripts/discourse/components/reviewable-ai-chat-message.gjs
@@ -0,0 +1,60 @@
+import Component from "@glimmer/component";
+import { array } from "@ember/helper";
+import { LinkTo } from "@ember/routing";
+import ReviewableCreatedBy from "discourse/components/reviewable-created-by";
+import ReviewablePostHeader from "discourse/components/reviewable-post-header";
+import htmlSafe from "discourse/helpers/html-safe";
+import or from "truth-helpers/helpers/or";
+import ChatChannelTitle from "discourse/plugins/chat/discourse/components/chat-channel-title";
+import ChatChannel from "discourse/plugins/chat/discourse/models/chat-channel";
+import ModelAccuracies from "./model-accuracies";
+
+export default class ReviewableAiChatMessage extends Component {
+ get chatChannel() {
+ if (!this.args.reviewable.chat_channel) {
+ return;
+ }
+ return ChatChannel.create(this.args.reviewable.chat_channel);
+ }
+
+
+ {{#if this.chatChannel}}
+
+ {{/if}}
+
+
+
+
+
+
+
+ {{htmlSafe
+ (or @reviewable.payload.message_cooked @reviewable.cooked)
+ }}
+
+
+ {{yield}}
+
+
+
+
+
+}
diff --git a/assets/javascripts/discourse/components/reviewable-ai-chat-message.hbs b/assets/javascripts/discourse/components/reviewable-ai-chat-message.hbs
deleted file mode 100644
index c3108924..00000000
--- a/assets/javascripts/discourse/components/reviewable-ai-chat-message.hbs
+++ /dev/null
@@ -1,33 +0,0 @@
-{{#if this.chatChannel}}
-
-{{/if}}
-
-
-
-
-
-
-
- {{html-safe (or @reviewable.payload.message_cooked @reviewable.cooked)}}
-
-
- {{yield}}
-
-
-
-
\ No newline at end of file
diff --git a/assets/javascripts/discourse/components/reviewable-ai-chat-message.js b/assets/javascripts/discourse/components/reviewable-ai-chat-message.js
deleted file mode 100644
index b87ec5d4..00000000
--- a/assets/javascripts/discourse/components/reviewable-ai-chat-message.js
+++ /dev/null
@@ -1,11 +0,0 @@
-import Component from "@glimmer/component";
-import ChatChannel from "discourse/plugins/chat/discourse/models/chat-channel";
-
-export default class ReviewableAiChatMessage extends Component {
- get chatChannel() {
- if (!this.args.reviewable.chat_channel) {
- return;
- }
- return ChatChannel.create(this.args.reviewable.chat_channel);
- }
-}
diff --git a/assets/javascripts/discourse/components/reviewable-ai-post.gjs b/assets/javascripts/discourse/components/reviewable-ai-post.gjs
new file mode 100644
index 00000000..fea210eb
--- /dev/null
+++ b/assets/javascripts/discourse/components/reviewable-ai-post.gjs
@@ -0,0 +1,37 @@
+import ReviewableCreatedBy from "discourse/components/reviewable-created-by";
+import ReviewablePostEdits from "discourse/components/reviewable-post-edits";
+import ReviewablePostHeader from "discourse/components/reviewable-post-header";
+import ReviewableTopicLink from "discourse/components/reviewable-topic-link";
+import htmlSafe from "discourse/helpers/html-safe";
+import { i18n } from "discourse-i18n";
+import ModelAccuracies from "./model-accuracies";
+
+const ReviewableAiPost =
+
+
+
+
+
+
+
+ {{#if @reviewable.blank_post}}
+
{{i18n "review.deleted_post"}}
+ {{else}}
+ {{htmlSafe @reviewable.cooked}}
+ {{/if}}
+
+
+ {{yield}}
+
+
+
+
+;
+export default ReviewableAiPost;
diff --git a/assets/javascripts/discourse/components/reviewable-ai-post.hbs b/assets/javascripts/discourse/components/reviewable-ai-post.hbs
deleted file mode 100644
index b6bf2248..00000000
--- a/assets/javascripts/discourse/components/reviewable-ai-post.hbs
+++ /dev/null
@@ -1,26 +0,0 @@
-
-
-
-
-
-
-
- {{#if @reviewable.blank_post}}
-
{{i18n "review.deleted_post"}}
- {{else}}
- {{html-safe @reviewable.cooked}}
- {{/if}}
-
-
- {{yield}}
-
-
-
-
\ No newline at end of file
diff --git a/assets/javascripts/discourse/connectors/after-d-editor/composer-open.js b/assets/javascripts/discourse/connectors/after-d-editor/composer-open.gjs
similarity index 77%
rename from assets/javascripts/discourse/connectors/after-d-editor/composer-open.js
rename to assets/javascripts/discourse/connectors/after-d-editor/composer-open.gjs
index b979ac85..97177ffe 100644
--- a/assets/javascripts/discourse/connectors/after-d-editor/composer-open.js
+++ b/assets/javascripts/discourse/connectors/after-d-editor/composer-open.gjs
@@ -1,6 +1,7 @@
import Component from "@glimmer/component";
import { computed } from "@ember/object";
import { service } from "@ember/service";
+import bodyClass from "discourse/helpers/body-class";
import { i18n } from "discourse-i18n";
export default class extends Component {
@@ -42,4 +43,15 @@ export default class extends Component {
}
return false;
}
+
+
+ {{#if this.isAiBotChat}}
+ {{bodyClass this.aiBotClasses}}
+ {{#if this.renderChatWarning}}
+ {{i18n
+ "discourse_ai.ai_bot.pm_warning"
+ }}
+ {{/if}}
+ {{/if}}
+
}
diff --git a/assets/javascripts/discourse/connectors/after-d-editor/composer-open.hbs b/assets/javascripts/discourse/connectors/after-d-editor/composer-open.hbs
deleted file mode 100644
index ed0fe928..00000000
--- a/assets/javascripts/discourse/connectors/after-d-editor/composer-open.hbs
+++ /dev/null
@@ -1,8 +0,0 @@
-{{#if this.isAiBotChat}}
- {{body-class this.aiBotClasses}}
- {{#if this.renderChatWarning}}
- {{i18n
- "discourse_ai.ai_bot.pm_warning"
- }}
- {{/if}}
-{{/if}}
\ No newline at end of file
diff --git a/assets/javascripts/discourse/templates/admin-dashboard-sentiment.gjs b/assets/javascripts/discourse/templates/admin-dashboard-sentiment.gjs
new file mode 100644
index 00000000..0698b139
--- /dev/null
+++ b/assets/javascripts/discourse/templates/admin-dashboard-sentiment.gjs
@@ -0,0 +1,87 @@
+import { LinkTo } from "@ember/routing";
+import RouteTemplate from "ember-route-template";
+import icon from "discourse/helpers/d-icon";
+import { i18n } from "discourse-i18n";
+import AdminReport from "admin/components/admin-report";
+import DashboardPeriodSelector from "admin/components/dashboard-period-selector";
+import DTooltip from "float-kit/components/d-tooltip";
+
+export default RouteTemplate(
+
+
+
+
+
+ {{i18n "discourse_ai.sentiments.dashboard.title"}}
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+ {{#each @controller.emotions as |metric|}}
+
+ {{/each}}
+
+
+
+
+
+
+
+);
diff --git a/assets/javascripts/discourse/templates/admin-dashboard-sentiment.hbs b/assets/javascripts/discourse/templates/admin-dashboard-sentiment.hbs
deleted file mode 100644
index d74ff48c..00000000
--- a/assets/javascripts/discourse/templates/admin-dashboard-sentiment.hbs
+++ /dev/null
@@ -1,73 +0,0 @@
-
-
-
-
- {{i18n "discourse_ai.sentiments.dashboard.title"}}
-
-
-
-
-
-
-
-
-
-
-
-
-
-
- {{#each this.emotions as |metric|}}
-
- {{/each}}
-
-
-
-
-
-
\ No newline at end of file