mirror of https://github.com/Squidex/squidex.git
You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
56 lines
2.3 KiB
56 lines
2.3 KiB
<sqx-modal-dialog size="lg" (close)="close.emit()">
|
|
<ng-container title>
|
|
{{ 'chat.title' | sqxTranslate }}
|
|
</ng-container>
|
|
|
|
<ng-container content>
|
|
<sqx-form-alert [marginBottom]="4">
|
|
<span [sqxMarkdown]="'chat.description' | sqxTranslate" [inline]="true"></span>
|
|
</sqx-form-alert>
|
|
|
|
<form (ngSubmit)="ask()">
|
|
<div class="row row-cols-0 g-2">
|
|
<div class="col">
|
|
<input class="form-control" placeholder="{{ 'chat.prompt' | sqxTranslate }}"
|
|
sqxFocusOnInit
|
|
(ngModelChange)="setQuestion($event)"
|
|
[ngModel]="snapshot.chatQuestion"
|
|
[ngModelOptions]="{ standalone: true }"
|
|
[disabled]="snapshot.isRunning" />
|
|
</div>
|
|
<div class="col-auto">
|
|
<button type="submit" class="btn btn-secondary" [disabled]="snapshot.isRunning">
|
|
{{ 'chat.ask' | sqxTranslate }}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</form>
|
|
|
|
<ng-container *ngIf="!snapshot.isRunning; else loading">
|
|
<ng-container *ngIf="snapshot.chatAnswers">
|
|
<h4 class="mt-4">{{ 'chat.answers' | sqxTranslate }}</h4>
|
|
|
|
<div *ngIf="snapshot.chatAnswers?.length === 0">
|
|
<small class="text-muted">{{ 'chat.answersEmpty' | sqxTranslate }}</small>
|
|
</div>
|
|
|
|
<div class="row g-2 answer" *ngFor="let answer of (snapshot.chatAnswers || [])">
|
|
<div class="col">
|
|
<textarea class="form-control" readonly [ngModel]="answer"></textarea>
|
|
</div>
|
|
<div class="col-auto">
|
|
<button type="submit" class="btn btn-primary" (click)="complete.emit(answer)">
|
|
{{ 'chat.use' | sqxTranslate }}
|
|
</button>
|
|
</div>
|
|
</div>
|
|
</ng-container>
|
|
</ng-container>
|
|
|
|
<ng-template #loading>
|
|
<div class="mt-4">
|
|
<sqx-loader></sqx-loader>
|
|
</div>
|
|
</ng-template>
|
|
</ng-container>
|
|
</sqx-modal-dialog>
|
|
|