mirror of
https://github.com/discourse/discourse-ai.git
synced 2025-10-24 02:58:39 +00:00
You can now edit each AI helper prompt individually through personas, limit access to specific groups, set different LLMs, etc.
50 lines
1.6 KiB
Plaintext
50 lines
1.6 KiB
Plaintext
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>
|
|
}
|