Commit 263d4bf4 authored by rdavis's avatar rdavis
Browse files

Added delete confirmation dialogs for Prompts, Tools, and Functions.

parent 16a8eebd
...@@ -27,6 +27,7 @@ ...@@ -27,6 +27,7 @@
import ValvesModal from './common/ValvesModal.svelte'; import ValvesModal from './common/ValvesModal.svelte';
import ManifestModal from './common/ManifestModal.svelte'; import ManifestModal from './common/ManifestModal.svelte';
import Heart from '../icons/Heart.svelte'; import Heart from '../icons/Heart.svelte';
import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
const i18n = getContext('i18n'); const i18n = getContext('i18n');
...@@ -40,6 +41,10 @@ ...@@ -40,6 +41,10 @@
let showValvesModal = false; let showValvesModal = false;
let selectedFunction = null; let selectedFunction = null;
let showDeleteConfirm = false;
let deleteFunction = null;
const shareHandler = async (tool) => { const shareHandler = async (tool) => {
console.log(tool); console.log(tool);
}; };
...@@ -245,8 +250,9 @@ ...@@ -245,8 +250,9 @@
exportHandler={() => { exportHandler={() => {
exportHandler(func); exportHandler(func);
}} }}
deleteHandler={async () => { deleteHandler={async () => {
deleteHandler(func); deleteFunction = func;
showDeleteConfirm = true;
}} }}
onClose={() => {}} onClose={() => {}}
> >
...@@ -386,6 +392,18 @@ ...@@ -386,6 +392,18 @@
</a> </a>
</div> </div>
<DeleteConfirmDialog
bind:show={showDeleteConfirm}
title={$i18n.t('Delete function?')}
on:confirm={() => {
deleteHandler(deleteFunction);
}}
>
<div class=" text-sm text-gray-500">
{$i18n.t('This will delete')} <span class=" font-semibold">{deleteFunction.name}</span>.
</div>
</DeleteConfirmDialog>
<ManifestModal bind:show={showManifestModal} manifest={selectedFunction?.meta?.manifest ?? {}} /> <ManifestModal bind:show={showManifestModal} manifest={selectedFunction?.meta?.manifest ?? {}} />
<ValvesModal <ValvesModal
bind:show={showValvesModal} bind:show={showValvesModal}
......
...@@ -10,6 +10,7 @@ ...@@ -10,6 +10,7 @@
import { goto } from '$app/navigation'; import { goto } from '$app/navigation';
import PromptMenu from './Prompts/PromptMenu.svelte'; import PromptMenu from './Prompts/PromptMenu.svelte';
import EllipsisHorizontal from '../icons/EllipsisHorizontal.svelte'; import EllipsisHorizontal from '../icons/EllipsisHorizontal.svelte';
import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
const i18n = getContext('i18n'); const i18n = getContext('i18n');
...@@ -17,6 +18,9 @@ ...@@ -17,6 +18,9 @@
let query = ''; let query = '';
let promptsImportInputElement: HTMLInputElement; let promptsImportInputElement: HTMLInputElement;
let showDeleteConfirm = false;
let deletePrompt = null;
const shareHandler = async (prompt) => { const shareHandler = async (prompt) => {
toast.success($i18n.t('Redirecting you to OpenWebUI Community')); toast.success($i18n.t('Redirecting you to OpenWebUI Community'));
...@@ -154,8 +158,9 @@ ...@@ -154,8 +158,9 @@
exportHandler={() => { exportHandler={() => {
exportHandler(prompt); exportHandler(prompt);
}} }}
deleteHandler={async () => { deleteHandler={async () => {
deleteHandler(prompt); deletePrompt = prompt;
showDeleteConfirm = true;
}} }}
onClose={() => {}} onClose={() => {}}
> >
...@@ -301,3 +306,15 @@ ...@@ -301,3 +306,15 @@
</div> </div>
</a> </a>
</div> </div>
<DeleteConfirmDialog
bind:show={showDeleteConfirm}
title={$i18n.t('Delete prompt?')}
on:confirm={() => {
deleteHandler(deletePrompt);
}}
>
<div class=" text-sm text-gray-500">
{$i18n.t('This will delete')} <span class=" font-semibold">{deletePrompt.command}</span>.
</div>
</DeleteConfirmDialog>
...@@ -23,6 +23,7 @@ ...@@ -23,6 +23,7 @@
import ValvesModal from './common/ValvesModal.svelte'; import ValvesModal from './common/ValvesModal.svelte';
import ManifestModal from './common/ManifestModal.svelte'; import ManifestModal from './common/ManifestModal.svelte';
import Heart from '../icons/Heart.svelte'; import Heart from '../icons/Heart.svelte';
import DeleteConfirmDialog from '$lib/components/common/ConfirmDialog.svelte';
const i18n = getContext('i18n'); const i18n = getContext('i18n');
...@@ -36,6 +37,9 @@ ...@@ -36,6 +37,9 @@
let showValvesModal = false; let showValvesModal = false;
let selectedTool = null; let selectedTool = null;
let showDeleteConfirm = false;
let deleteTool = null;
const shareHandler = async (tool) => { const shareHandler = async (tool) => {
console.log(tool); console.log(tool);
}; };
...@@ -240,7 +244,8 @@ ...@@ -240,7 +244,8 @@
exportHandler(tool); exportHandler(tool);
}} }}
deleteHandler={async () => { deleteHandler={async () => {
deleteHandler(tool); deleteTool = tool;
showDeleteConfirm = true;
}} }}
onClose={() => {}} onClose={() => {}}
> >
...@@ -370,6 +375,18 @@ ...@@ -370,6 +375,18 @@
</a> </a>
</div> </div>
<DeleteConfirmDialog
bind:show={showDeleteConfirm}
title={$i18n.t('Delete tool?')}
on:confirm={() => {
deleteHandler(deleteTool);
}}
>
<div class=" text-sm text-gray-500">
{$i18n.t('This will delete')} <span class=" font-semibold">{deleteTool.name}</span>.
</div>
</DeleteConfirmDialog>
<ValvesModal bind:show={showValvesModal} type="tool" id={selectedTool?.id ?? null} /> <ValvesModal bind:show={showValvesModal} type="tool" id={selectedTool?.id ?? null} />
<ManifestModal bind:show={showManifestModal} manifest={selectedTool?.meta?.manifest ?? {}} /> <ManifestModal bind:show={showManifestModal} manifest={selectedTool?.meta?.manifest ?? {}} />
......
Markdown is supported
0% or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment