@@ -43,9 +43,9 @@ export default class AiSpam extends Component {
4343 this .stats = model .stats ;
4444 }
4545
46- get availableLLMs () {
47- return this .args .model ? .available_llms || [];
48- }
46+ get availableLLMs () {
47+ return this .args .model ? .available_llms || [];
48+ }
4949
5050 @action
5151 async toggleEnabled () {
@@ -87,6 +87,27 @@ get availableLLMs() {
8787 }
8888 }
8989
90+ get metrics () {
91+ return [
92+ {
93+ label: " discourse_ai.spam.scanned_count" ,
94+ value: this .stats .scanned_count ,
95+ },
96+ {
97+ label: " discourse_ai.spam.spam_detected" ,
98+ value: this .stats .spam_detected ,
99+ },
100+ {
101+ label: " discourse_ai.spam.false_positives" ,
102+ value: this .stats .false_positives ,
103+ },
104+ {
105+ label: " discourse_ai.spam.false_negatives" ,
106+ value: this .stats .false_negatives ,
107+ },
108+ ];
109+ }
110+
90111 <template >
91112 <div class =" ai-spam" >
92113 <section class =" ai-spam__settings" >
@@ -147,44 +168,14 @@ get availableLLMs() {
147168 " discourse_ai.spam.last_seven_days"
148169 }} </h3 >
149170
150- {{#if this . isLoadingStats }}
151- <div class =" ai-spam__loading" ></div >
152- {{else }}
153- <div class =" ai-spam__metrics" >
154- <div class =" ai-spam__metrics-item" >
155- <span class =" ai-spam__metrics-label" >{{i18n
156- " discourse_ai.spam.scanned_count"
157- }} </span >
158- <span
159- class =" ai-spam__metrics-value"
160- >{{this .stats.scanned_count }} </span >
161- </div >
171+ <div class =" ai-spam__metrics" >
172+ {{#each this . metrics as | metric | }}
162173 <div class =" ai-spam__metrics-item" >
163- <span class =" ai-spam__metrics-label" >{{i18n
164- " discourse_ai.spam.spam_detected"
165- }} </span >
166- <span
167- class =" ai-spam__metrics-value"
168- >{{this .stats.spam_detected }} </span >
174+ <span class =" ai-spam__metrics-label" >{{i18n metric.label }} </span >
175+ <span class =" ai-spam__metrics-value" >{{metric.value }} </span >
169176 </div >
170- <div class =" ai-spam__metrics-item" >
171- <span class =" ai-spam__metrics-label" >{{i18n
172- " discourse_ai.spam.false_positives"
173- }} </span >
174- <span
175- class =" ai-spam__metrics-value"
176- >{{this .stats.false_positives }} </span >
177- </div >
178- <div class =" ai-spam__metrics-item" >
179- <span class =" ai-spam__metrics-label" >{{i18n
180- " discourse_ai.spam.false_negatives"
181- }} </span >
182- <span
183- class =" ai-spam__metrics-value"
184- >{{this .stats.false_negatives }} </span >
185- </div >
186- </div >
187- {{/if }}
177+ {{/each }}
178+ </div >
188179 </section >
189180 </div >
190181 </template >
0 commit comments