@page "/chat/{chatId}" @inject IHttpClientFactory ClientFactory @inject IJSRuntime JSRuntime @name
@name
    @if (!isLoading && Messages != null) { @foreach (var item in Messages) { if (item.Role != "User") {
  • @item.Text

  • } else {
  • @item.Text

  • } } }
@if (Suggestion.Count != 0) {
Several possible options
@foreach (var item in Suggestion) {
@item
}
}
Send message
@code { [Parameter] public string chatId { get; set; } protected override async Task OnParametersSetAsync() { await LoadMessages(); } private void InputChanged(ChangeEventArgs e) { inputValue = e.Value.ToString(); } public void Enter(KeyboardEventArgs e) { if (e.Code == "Enter" || e.Code == "NumpadEnter") { AddNewMessage(inputValue); } } private ElementReference chatMessageRef; protected override async Task OnAfterRenderAsync(bool firstRender) { await JSRuntime.InvokeVoidAsync("scrollToBottom", chatMessageRef); } private async Task UpdateSideMenu(string wishlistId) { await JSRuntime.InvokeVoidAsync("myJavaScriptFunction", wishlistId); } private void ClickOption(string item) { inputValue = item; } }