feat: add profile management flow

This commit is contained in:
Matthieu
2025-09-17 23:11:13 +02:00
parent 37c66ac3d6
commit 316dcb6339
27 changed files with 2717 additions and 1556 deletions

View File

@@ -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>