mirror of
https://github.com/open-webui/open-webui
synced 2025-04-23 07:45:18 +00:00
enh: message delete confirm dialog
This commit is contained in:
parent
dbe5d1ca08
commit
f72e28a56c
@ -37,6 +37,9 @@
|
|||||||
import Spinner from '$lib/components/common/Spinner.svelte';
|
import Spinner from '$lib/components/common/Spinner.svelte';
|
||||||
import WebSearchResults from './ResponseMessage/WebSearchResults.svelte';
|
import WebSearchResults from './ResponseMessage/WebSearchResults.svelte';
|
||||||
import Sparkles from '$lib/components/icons/Sparkles.svelte';
|
import Sparkles from '$lib/components/icons/Sparkles.svelte';
|
||||||
|
|
||||||
|
import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
|
||||||
|
|
||||||
import Error from './Error.svelte';
|
import Error from './Error.svelte';
|
||||||
import Citations from './Citations.svelte';
|
import Citations from './Citations.svelte';
|
||||||
import CodeExecutions from './CodeExecutions.svelte';
|
import CodeExecutions from './CodeExecutions.svelte';
|
||||||
@ -126,6 +129,8 @@
|
|||||||
export let isLastMessage = true;
|
export let isLastMessage = true;
|
||||||
export let readOnly = false;
|
export let readOnly = false;
|
||||||
|
|
||||||
|
let showDeleteConfirm = false;
|
||||||
|
|
||||||
let model = null;
|
let model = null;
|
||||||
$: model = $models.find((m) => m.id === message.model);
|
$: model = $models.find((m) => m.id === message.model);
|
||||||
|
|
||||||
@ -516,6 +521,14 @@
|
|||||||
});
|
});
|
||||||
</script>
|
</script>
|
||||||
|
|
||||||
|
<DeleteConfirmDialog
|
||||||
|
bind:show={showDeleteConfirm}
|
||||||
|
title={$i18n.t('Delete message?')}
|
||||||
|
on:confirm={() => {
|
||||||
|
deleteMessageHandler();
|
||||||
|
}}
|
||||||
|
/>
|
||||||
|
|
||||||
{#key message.id}
|
{#key message.id}
|
||||||
<div
|
<div
|
||||||
class=" flex w-full message-{message.id}"
|
class=" flex w-full message-{message.id}"
|
||||||
@ -1247,7 +1260,7 @@
|
|||||||
? 'visible'
|
? 'visible'
|
||||||
: '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 regenerate-response-button"
|
: '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 regenerate-response-button"
|
||||||
on:click={() => {
|
on:click={() => {
|
||||||
deleteMessageHandler();
|
showDeleteConfirm = true;
|
||||||
}}
|
}}
|
||||||
>
|
>
|
||||||
<svg
|
<svg
|
||||||
|
@ -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
|
||||||
|
Loading…
Reference in New Issue
Block a user