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

View File

@@ -9,7 +9,7 @@
<div class="my-8">
<div class="flex justify-between items-center mb-6">
<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" />
Ajouter un site
</button>
@@ -24,7 +24,7 @@
<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>
<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
</button>
</div>
@@ -44,7 +44,7 @@
<SiteCreateModal
:visible="showAddSiteModal"
:site="newSite"
@close="showAddSiteModal = false"
@close="closeCreateModal"
@submit="handleCreateSite"
/>
@@ -101,6 +101,8 @@ const {
closePreview,
formatSize,
confirmDeleteSite,
canPreviewDocument
canPreviewDocument,
openCreateSiteModal,
closeCreateModal
} = useSiteManagement()
</script>