import { ref, computed } from 'vue' let hasWarned = false const warnDeprecated = () => { if (hasWarned) return if (process.dev) { console.warn('[usePieceModels] Ce composable est conservé pour compatibilité mais les modèles ont été remplacés par les catégories enrichies de squelette. Utilisez usePieceTypes / usePieces à la place.') } hasWarned = true } const buildUnsupportedResult = () => ({ success: false, error: 'Les modèles de pièces ont été retirés. Gérez les squelettes via les catégories et utilisez les requirements machine pour instancier des pièces.' }) export function usePieceModels () { warnDeprecated() const pieceModelsBuckets = ref({}) const loadingPieceModels = ref(false) const pieceModels = computed(() => []) const noLongerSupported = async () => { warnDeprecated() return buildUnsupportedResult() } const getPieceModels = () => pieceModels.value const getPieceModelsForType = () => [] const isPieceModelLoading = () => loadingPieceModels.value return { pieceModels, pieceModelsBuckets, loadingPieceModels, loadPieceModels: noLongerSupported, createPieceModel: noLongerSupported, updatePieceModel: noLongerSupported, deletePieceModel: noLongerSupported, getPieceModels, getPieceModelsForType, isPieceModelLoading } }