import { ref } from 'vue' import type { Storage } from '~/modules/catalog/types/storage' /** * Chargement d'un stockage unique (ecran « Modification stockage », M7 — ERP-218). * Lit le detail via `GET /api/storages/{id}` — meme structure que la ligne de liste * (site / storageType embarques + displayName, § 4.0.bis). * * L'en-tete `Accept: application/ld+json` est impose pour obtenir le payload Hydra * complet (IRI `@id` des relations, necessaires au pre-remplissage des selects). * Etat 100 % local a l'instance (refs) — aucune persistance URL. */ export function useStorage(id: number | string) { const api = useApi() const storage = ref(null) const loading = ref(false) const error = ref(false) /** Charge le detail du stockage. En cas d'echec : `error = true`, `storage = null`. */ async function load(): Promise { loading.value = true error.value = false try { storage.value = await api.get( `/storages/${id}`, {}, { headers: { Accept: 'application/ld+json' }, toast: false }, ) } catch { error.value = true storage.value = null } finally { loading.value = false } } return { storage, loading, error, load } }