|
@@ -13,6 +13,8 @@
|
|
import FileItem from '$lib/components/common/FileItem.svelte';
|
|
import FileItem from '$lib/components/common/FileItem.svelte';
|
|
import Markdown from './Markdown.svelte';
|
|
import Markdown from './Markdown.svelte';
|
|
import Image from '$lib/components/common/Image.svelte';
|
|
import Image from '$lib/components/common/Image.svelte';
|
|
|
|
+ import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
|
|
|
|
+
|
|
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
|
import localizedFormat from 'dayjs/plugin/localizedFormat';
|
|
|
|
|
|
const i18n = getContext('i18n');
|
|
const i18n = getContext('i18n');
|
|
@@ -34,6 +36,8 @@
|
|
export let isFirstMessage: boolean;
|
|
export let isFirstMessage: boolean;
|
|
export let readOnly: boolean;
|
|
export let readOnly: boolean;
|
|
|
|
|
|
|
|
+ let showDeleteConfirm = false;
|
|
|
|
+
|
|
let edit = false;
|
|
let edit = false;
|
|
let editedContent = '';
|
|
let editedContent = '';
|
|
let messageEditTextAreaElement: HTMLTextAreaElement;
|
|
let messageEditTextAreaElement: HTMLTextAreaElement;
|
|
@@ -85,6 +89,14 @@
|
|
});
|
|
});
|
|
</script>
|
|
</script>
|
|
|
|
|
|
|
|
+<DeleteConfirmDialog
|
|
|
|
+ bind:show={showDeleteConfirm}
|
|
|
|
+ title={$i18n.t('Delete message?')}
|
|
|
|
+ on:confirm={() => {
|
|
|
|
+ deleteMessageHandler();
|
|
|
|
+ }}
|
|
|
|
+/>
|
|
|
|
+
|
|
<div class=" flex w-full user-message" dir={$settings.chatDirection} id="message-{message.id}">
|
|
<div class=" flex w-full user-message" dir={$settings.chatDirection} id="message-{message.id}">
|
|
{#if !($settings?.chatBubble ?? true)}
|
|
{#if !($settings?.chatBubble ?? true)}
|
|
<div class={`shrink-0 ${($settings?.chatDirection ?? 'LTR') === 'LTR' ? 'mr-3' : 'ml-3'}`}>
|
|
<div class={`shrink-0 ${($settings?.chatDirection ?? 'LTR') === 'LTR' ? 'mr-3' : 'ml-3'}`}>
|
|
@@ -340,7 +352,7 @@
|
|
<button
|
|
<button
|
|
class="invisible group-hover:visible p-1 rounded-sm dark:hover:text-white hover:text-black transition"
|
|
class="invisible group-hover:visible p-1 rounded-sm dark:hover:text-white hover:text-black transition"
|
|
on:click={() => {
|
|
on:click={() => {
|
|
- deleteMessageHandler();
|
|
|
|
|
|
+ showDeleteConfirm = true;
|
|
}}
|
|
}}
|
|
>
|
|
>
|
|
<svg
|
|
<svg
|