diff --git a/frontend/src/lib/components/projects/ProjectModal.svelte b/frontend/src/lib/components/projects/ProjectModal.svelte index 70b1e54..ed25e6b 100644 --- a/frontend/src/lib/components/projects/ProjectModal.svelte +++ b/frontend/src/lib/components/projects/ProjectModal.svelte @@ -5,6 +5,7 @@ import { projectsState, toastState } from '$lib/stores'; import type { Project } from '$lib/stores/projects.svelte.js'; import { addProjectLink, deleteProjectLink, getProjectLinks, type ProjectLink } from '$lib/storage/projects.js'; + import { ConfirmDialog } from '$lib/components/shared'; interface Props { isOpen: boolean; @@ -26,6 +27,7 @@ let newLinkDescription = $state(''); let isLoading = $state(false); let activeTab = $state<'settings' | 'instructions' | 'links'>('settings'); + let showDeleteConfirm = $state(false); // Predefined colors for quick selection const presetColors = [ @@ -121,13 +123,14 @@ } } - async function handleDelete() { + function handleDeleteClick() { if (!projectId) return; + showDeleteConfirm = true; + } - if (!confirm('Delete this project? Conversations will be unlinked but not deleted.')) { - return; - } - + async function handleDeleteConfirm() { + if (!projectId) return; + showDeleteConfirm = false; isLoading = true; try { @@ -429,7 +432,7 @@ {#if projectId} -