feat: add profile management flow
This commit is contained in:
@@ -6,16 +6,12 @@
|
||||
@close="closePreview"
|
||||
/>
|
||||
<!-- Hero Section -->
|
||||
<div class="hero min-h-[30vh] bg-gradient-to-r from-primary to-secondary">
|
||||
<div class="hero-content text-center text-neutral-content">
|
||||
<div class="max-w-md">
|
||||
<h1 class="mb-5 text-4xl font-bold">Gestion des Sites</h1>
|
||||
<p class="mb-5">
|
||||
Gérez vos sites industriels et leurs emplacements.
|
||||
</p>
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
<PageHero
|
||||
title="Gestion des Sites"
|
||||
subtitle="Gérez vos sites industriels et leurs emplacements."
|
||||
min-height="min-h-[24vh]"
|
||||
max-width="max-w-md"
|
||||
/>
|
||||
|
||||
<!-- Sites Management -->
|
||||
<div class="my-8">
|
||||
@@ -374,7 +370,7 @@
|
||||
</template>
|
||||
|
||||
<script setup>
|
||||
import { ref, reactive, onMounted, computed } from 'vue'
|
||||
import { ref, reactive, onMounted, computed, watch } from 'vue'
|
||||
import { useSites } from '~/composables/useSites'
|
||||
import { useToast } from '~/composables/useToast'
|
||||
import { useDocuments } from '~/composables/useDocuments'
|
||||
@@ -382,9 +378,11 @@ import { getFileIcon } from '~/utils/fileIcons'
|
||||
import { canPreviewDocument } from '~/utils/documentPreview'
|
||||
import DocumentUpload from '~/components/DocumentUpload.vue'
|
||||
import DocumentPreviewModal from '~/components/DocumentPreviewModal.vue'
|
||||
import PageHero from '~/components/PageHero.vue'
|
||||
|
||||
const { sites, loading, loadSites, createSite, updateSite, deleteSite } = useSites()
|
||||
const { uploadDocuments, deleteDocument, loadDocumentsBySite } = useDocuments()
|
||||
const route = useRoute()
|
||||
|
||||
// Data
|
||||
const showAddSiteModal = ref(false)
|
||||
@@ -617,13 +615,16 @@ const confirmDeleteSite = async (site) => {
|
||||
// Lifecycle
|
||||
onMounted(async () => {
|
||||
await loadSites()
|
||||
|
||||
// Vérifier si on doit ouvrir automatiquement la modale d'ajout
|
||||
const route = useRoute()
|
||||
if (route.query.add === 'true') {
|
||||
showAddSiteModal.value = true
|
||||
// Nettoyer l'URL
|
||||
await navigateTo('/sites', { replace: true })
|
||||
}
|
||||
})
|
||||
|
||||
watch(
|
||||
() => route.query.add,
|
||||
async (shouldOpen) => {
|
||||
if (shouldOpen === 'true') {
|
||||
showAddSiteModal.value = true
|
||||
await navigateTo('/sites', { replace: true })
|
||||
}
|
||||
},
|
||||
{ immediate: true }
|
||||
)
|
||||
</script>
|
||||
|
||||
Reference in New Issue
Block a user