mirror of
https://ghfast.top/https://github.com/discourse/discourse-ai.git
synced 2026-07-16 11:36:23 +08:00
You can now edit each AI helper prompt individually through personas, limit access to specific groups, set different LLMs, etc.
49 lines
1.6 KiB
Text
49 lines
1.6 KiB
Text
import Component from "@glimmer/component";
|
|
import { fn } from "@ember/helper";
|
|
import { service } from "@ember/service";
|
|
import { and } from "truth-helpers";
|
|
import DButton from "discourse/components/d-button";
|
|
import { PLATFORM_KEY_MODIFIER } from "discourse/lib/keyboard-shortcuts";
|
|
import { translateModKey } from "discourse/lib/utilities";
|
|
import eq from "truth-helpers/helpers/eq";
|
|
import AiHelperCustomPrompt from "../components/ai-helper-custom-prompt";
|
|
|
|
export default class AiHelperOptionsList extends Component {
|
|
@service site;
|
|
|
|
get showShortcut() {
|
|
return this.site.desktopView && this.args.shortcutVisible;
|
|
}
|
|
|
|
get shortcut() {
|
|
return translateModKey(`${PLATFORM_KEY_MODIFIER}+alt+p`);
|
|
}
|
|
|
|
<template>
|
|
<ul class="ai-helper-options">
|
|
{{#each @options as |option|}}
|
|
{{#if (eq option.name "custom_prompt")}}
|
|
<AiHelperCustomPrompt
|
|
@value={{@customPromptValue}}
|
|
@promptArgs={{option}}
|
|
@submit={{@performAction}}
|
|
/>
|
|
{{else}}
|
|
<li data-name={{option.translated_name}} data-value={{option.name}}>
|
|
<DButton
|
|
@icon={{option.icon}}
|
|
@translatedLabel={{option.translated_name}}
|
|
@action={{fn @performAction option}}
|
|
data-name={{option.name}}
|
|
class="ai-helper-options__button"
|
|
>
|
|
{{#if (and (eq option.name "proofread") this.showShortcut)}}
|
|
<kbd class="shortcut">{{this.shortcut}}</kbd>
|
|
{{/if}}
|
|
</DButton>
|
|
</li>
|
|
{{/if}}
|
|
{{/each}}
|
|
</ul>
|
|
</template>
|
|
}
|