import {Component, Input, OnChanges, SimpleChanges} from '@angular/core'; import {DomSanitizer, SafeHtml} from '@angular/platform-browser'; import {Copy} from 'sae-lib/buttons/copy/copy'; import {FeedbackButton} from '../feedback-button/feedback-button'; import {ChatbotMessage} from '../../services/chatbot.message.type'; type MessageKind = "user" | "llm"; @Component({ selector: 'app-message-box', imports: [ Copy, FeedbackButton ], templateUrl: './message-box.html', styleUrl: './message-box.scss' }) export class MessageBox implements OnChanges { @Input() kind: MessageKind = <"user" | "llm">"" @Input() conf: any = {} @Input() content: any = "" @Input() message: ChatbotMessage = {} as ChatbotMessage; id: string = "00122121221312"; sanitizedContent: SafeHtml = ""; constructor(private sanitizer: DomSanitizer) {} ngOnChanges(changes: SimpleChanges): void { if (changes['content']) { this.sanitizeContent(); } } sanitizeContent(): void { this.sanitizedContent = this.sanitizer.bypassSecurityTrustHtml(this.content); } bookmark() { console.log("TODO bookmark") } generateResponse() { console.log("TODO generateResponse") } editMessage() { console.log("TODO editMessage") } }