Reset new site form on modal open and close

This commit is contained in:
MatthieuTD
2025-09-25 15:14:00 +02:00
parent f9de94907b
commit e25e8c2669
2 changed files with 20 additions and 7 deletions

View File

@@ -83,6 +83,16 @@ export function useSiteManagement() {
newSite.contactCity = '' newSite.contactCity = ''
} }
const closeCreateModal = () => {
showAddSiteModal.value = false
resetNewSite()
}
const openCreateSiteModal = () => {
resetNewSite()
showAddSiteModal.value = true
}
const handleCreateSite = async () => { const handleCreateSite = async () => {
const result = await createSite({ const result = await createSite({
name: newSite.name, name: newSite.name,
@@ -94,8 +104,7 @@ export function useSiteManagement() {
}) })
if (result.success) { if (result.success) {
resetNewSite() closeCreateModal()
showAddSiteModal.value = false
} }
} }
@@ -268,7 +277,7 @@ export function useSiteManagement() {
() => route.query.add, () => route.query.add,
async (shouldOpen) => { async (shouldOpen) => {
if (shouldOpen === 'true') { if (shouldOpen === 'true') {
showAddSiteModal.value = true openCreateSiteModal()
await navigateTo('/sites', { replace: true }) await navigateTo('/sites', { replace: true })
} }
}, },
@@ -289,6 +298,8 @@ export function useSiteManagement() {
previewVisible, previewVisible,
siteDocuments, siteDocuments,
documentIcon, documentIcon,
openCreateSiteModal,
closeCreateModal,
handleCreateSite, handleCreateSite,
editSite, editSite,
handleUpdateSite, handleUpdateSite,

View File

@@ -9,7 +9,7 @@
<div class="my-8"> <div class="my-8">
<div class="flex justify-between items-center mb-6"> <div class="flex justify-between items-center mb-6">
<h2 class="text-2xl font-bold">Sites</h2> <h2 class="text-2xl font-bold">Sites</h2>
<button @click="showAddSiteModal = true" class="btn btn-primary"> <button @click="openCreateSiteModal" class="btn btn-primary">
<IconLucidePlus class="w-5 h-5 mr-2" aria-hidden="true" /> <IconLucidePlus class="w-5 h-5 mr-2" aria-hidden="true" />
Ajouter un site Ajouter un site
</button> </button>
@@ -24,7 +24,7 @@
<IconLucideMapPin class="w-16 h-16 mx-auto text-gray-400 mb-4" aria-hidden="true" /> <IconLucideMapPin class="w-16 h-16 mx-auto text-gray-400 mb-4" aria-hidden="true" />
<h3 class="text-lg font-medium text-gray-900 mb-2">Aucun site trouvé</h3> <h3 class="text-lg font-medium text-gray-900 mb-2">Aucun site trouvé</h3>
<p class="text-gray-500 mb-4">Commencez par ajouter votre premier site.</p> <p class="text-gray-500 mb-4">Commencez par ajouter votre premier site.</p>
<button @click="showAddSiteModal = true" class="btn btn-primary"> <button @click="openCreateSiteModal" class="btn btn-primary">
Ajouter un site Ajouter un site
</button> </button>
</div> </div>
@@ -44,7 +44,7 @@
<SiteCreateModal <SiteCreateModal
:visible="showAddSiteModal" :visible="showAddSiteModal"
:site="newSite" :site="newSite"
@close="showAddSiteModal = false" @close="closeCreateModal"
@submit="handleCreateSite" @submit="handleCreateSite"
/> />
@@ -101,6 +101,8 @@ const {
closePreview, closePreview,
formatSize, formatSize,
confirmDeleteSite, confirmDeleteSite,
canPreviewDocument canPreviewDocument,
openCreateSiteModal,
closeCreateModal
} = useSiteManagement() } = useSiteManagement()
</script> </script>