<script setup>

defineProps({
  drawingData: {
    type: Array,
    required: true
  }
})

// Форматируем чертежи под TableItem
function formatDrawings(item) {
  return item.drawings.reduce((acc, drawing) => {
    acc[drawing.name] = drawing.path
    return acc
  }, {})
}

// Проверяем, есть ли спецификации
function hasSpecifications(item) {
  return item.specifications && Array.isArray(item.specifications) && item.specifications.length > 0
}

// Форматируем спецификации под TableItem
function formatSpecifications(item) {
  if (!hasSpecifications(item)) return {}
  return item.specifications.reduce((acc, spec) => {
    acc[spec.name] = spec.path
    return acc
  }, {})
}
</script>

<template>
  <div class="mt-6">
    <h3 class="text-xl font-semibold mb-4">Результат: Чертежи и спецификации</h3>

    <div v-for="item in drawingData" :key="item.document_name" class="mb-6 border p-4 rounded shadow-sm bg-white">
      <h4 class="font-medium text-lg">{{ item.document_name }}</h4>

      <!-- Чертежи -->
      <TableItem
        caption="Чертежи:"
        :items="formatDrawings(item)"
        label-key="Название"
        label-value="Путь"
      />

      <!-- Спецификации -->
      <TableItem
        v-if="hasSpecifications(item)"
        caption="Спецификации:"
        :items="formatSpecifications(item)"
        label-key="Название"
        label-value="Путь"
      />
    </div>
  </div>
</template>