<template>
  <div class="document-list">
    <el-card
      v-for="(doc, index) in documents"
      :key="index"
      class="document-card"
      @click="handleClick(doc.fileId)"
    >
      <div class="document-info">
        <h3>{{ doc.title }}</h3>
        <div class="document-content">
          <span v-if="doc.size" class="document-meta"
            >{{ $t('document-meta.size') }}: {{ formatFileSize(doc.size) }}
          </span>
          <span v-if="doc.filename" class="document-meta"
            >{{ $t('document-meta.format') }}:
            {{ formatFileExtension(getFileExtension(doc.filename)) }}</span
          >
        </div>
      </div>
    </el-card>
  </div>
</template>

<script setup lang="ts">
  defineProps({
    documents: {
      type: Array as () => Array<ProductDocumentView>,
      default: () => [],
    },
  });

  const localePath = useLocalePath();

  const handleClick = (id: string) => {
    // 获取路由参数
    if (id) {
      navigateTo(localePath(`/download/${id}`));
    }
  };
</script>

<style scoped>
  .document-list {
    display: flex;
    flex-direction: column;
    gap: 1rem;
    width: 100%;
  }

  .document-card {
    cursor: pointer;
    transition: all 0.3s ease;
  }

  .document-card:hover {
    transform: translateY(-1px);
    box-shadow: 0 8px 25px rgba(0, 0, 0, 0.15);
  }

  .document-meta {
    font-size: 0.8rem;
    color: var(--el-text-color-secondary);
  }

  .download-button {
    margin-left: auto;
  }

  .document-content {
    display: flex;
    align-items: center;
    gap: 1rem;
  }
</style>
