This commit is contained in:
Timothy Jaeryang Baek 2025-08-14 04:19:54 +04:00
parent e13f1738d4
commit d303f0351d
2 changed files with 162 additions and 157 deletions

View file

@ -66,7 +66,7 @@
const editMessageHandler = async () => { const editMessageHandler = async () => {
edit = true; edit = true;
editedContent = message.content; editedContent = message?.content ?? '';
editedFiles = message.files; editedFiles = message.files;
await tick(); await tick();
@ -80,6 +80,11 @@
}; };
const editMessageConfirmHandler = async (submit = true) => { const editMessageConfirmHandler = async (submit = true) => {
if (!editedContent && editedFiles.length === 0) {
toast.error($i18n.t('Please enter a message or attach a file.'));
return;
}
editMessage(message.id, { content: editedContent, files: editedFiles }, submit); editMessage(message.id, { content: editedContent, files: editedFiles }, submit);
edit = false; edit = false;
@ -186,7 +191,6 @@
{/if} {/if}
{/if} {/if}
{#if message.content !== ''}
{#if edit === true} {#if edit === true}
<div class=" w-full bg-gray-50 dark:bg-gray-800 rounded-3xl px-5 py-3 mb-2"> <div class=" w-full bg-gray-50 dark:bg-gray-800 rounded-3xl px-5 py-3 mb-2">
{#if (editedFiles ?? []).length > 0} {#if (editedFiles ?? []).length > 0}
@ -308,7 +312,7 @@
</div> </div>
</div> </div>
</div> </div>
{:else} {:else if message.content !== ''}
<div class="w-full"> <div class="w-full">
<div class="flex {($settings?.chatBubble ?? true) ? 'justify-end pb-1' : 'w-full'}"> <div class="flex {($settings?.chatBubble ?? true) ? 'justify-end pb-1' : 'w-full'}">
<div <div
@ -325,7 +329,6 @@
</div> </div>
</div> </div>
{/if} {/if}
{/if}
{#if edit !== true} {#if edit !== true}
<div <div
@ -453,6 +456,7 @@
</Tooltip> </Tooltip>
{/if} {/if}
{#if message?.content}
<Tooltip content={$i18n.t('Copy')} placement="bottom"> <Tooltip content={$i18n.t('Copy')} placement="bottom">
<button <button
class="invisible group-hover:visible p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg dark:hover:text-white hover:text-black transition" class="invisible group-hover:visible p-1.5 hover:bg-black/5 dark:hover:bg-white/5 rounded-lg dark:hover:text-white hover:text-black transition"
@ -476,6 +480,7 @@
</svg> </svg>
</button> </button>
</Tooltip> </Tooltip>
{/if}
{#if !readOnly && (!isFirstMessage || siblings.length > 1)} {#if !readOnly && (!isFirstMessage || siblings.length > 1)}
<Tooltip content={$i18n.t('Delete')} placement="bottom"> <Tooltip content={$i18n.t('Delete')} placement="bottom">

View file

@ -26,7 +26,7 @@
<ImagePreview bind:show={showImagePreview} src={_src} {alt} /> <ImagePreview bind:show={showImagePreview} src={_src} {alt} />
<div class=" relative group w-fit"> <div class=" relative group w-fit flex items-center">
<button <button
class={className} class={className}
on:click={() => { on:click={() => {