diff --git a/frontend/src/lib/components/sessions/message.svelte b/frontend/src/lib/components/sessions/message.svelte index bf2520357cceaed4569a8bcda2b84160b0c0ca38..13f3a405552e2ed1f115bc0d6d8f39b13a70f5f0 100644 --- a/frontend/src/lib/components/sessions/message.svelte +++ b/frontend/src/lib/components/sessions/message.svelte @@ -227,29 +227,9 @@ <Icon src={Check} class="w-4 inline" /> {displayedTime} {#if message.edited} - <button class="italic cursor-help" on:click={historyModal.showModal()}> + <button class="italic cursor-help" on:click={() => historyModal.showModal()}> {$t('chatbox.edited')} </button> - <dialog bind:this={historyModal} class="modal"> - <div class="modal-box"> - <h3 class="text-xl">{$t('chatbox.history')}</h3> - <div> - {#each $messageVersions as version} - <div class="flex justify-between items-center border-b border-gray-300 py-1"> - <div> - {version.content} - </div> - <div class="whitespace-nowrap">{displayTime(version.date)}</div> - </div> - {/each} - </div> - <div class="modal-action"> - <form method="dialog"> - <button class="btn btn-primary">{$t('button.close')}</button> - </form> - </div> - </div> - </dialog> {/if} </div> </div> @@ -268,3 +248,24 @@ <ChatBubble /> </button> </div> + +<dialog bind:this={historyModal} class="modal"> + <div class="modal-box"> + <h3 class="text-xl">{$t('chatbox.history')}</h3> + <div> + {#each $messageVersions as version} + <div class="flex justify-between items-center border-b border-gray-300 py-1"> + <div> + {version.content} + </div> + <div class="whitespace-nowrap">{displayTime(version.date)}</div> + </div> + {/each} + </div> + <div class="modal-action"> + <form method="dialog"> + <button class="btn btn-primary">{$t('button.close')}</button> + </form> + </div> + </div> +</dialog> diff --git a/frontend/src/lib/types/message.ts b/frontend/src/lib/types/message.ts index 2da26f4ae82e2bb80776e1b97e41d0a1ac45cd4e..5be486240e85d3f3133f6ce44cbd3b3bed975946 100644 --- a/frontend/src/lib/types/message.ts +++ b/frontend/src/lib/types/message.ts @@ -83,9 +83,12 @@ export default class Message { } async localUpdate(content: string, force: boolean = false): Promise<boolean> { + if (!force) { + this._versions.update((v) => [...v, { content: content, date: new Date() }]); + this._edited = true; + } this._content = content; this.feedbacks.set([]); - if (!force) this._edited = true; return true; }