<template>
  <PageWrapper
    title="关于我们"
    :content="`${name}是一个基于 vue3，vite2，TypeScript
        的中后台解决方案，它可以帮助你快速搭建企业级中后台项目，相信不管是从新技术使用还是其他方面，都能帮助到你，持续更新中。`"
  >
    <el-card shadow="never" title="项目信息" class="mt-3 proCard" size="small">
      <el-descriptions border label-placement="left" class="py-2">
        <el-descriptions-item label="版本">
          <el-tag type="info"> {{ version }} </el-tag>
        </el-descriptions-item>
        <el-descriptions-item label="最后编译时间">
          <el-tag type="info"> {{ lastBuildTime }} </el-tag>
        </el-descriptions-item>
        <el-descriptions-item label="文档地址">
          <div class="flex items-center">
            <a href="https://www.naiveadmin.com" class="py-2" target="_blank">查看文档地址</a>
          </div>
        </el-descriptions-item>
        <el-descriptions-item label="预览地址">
          <div class="flex items-center">
            <a href="https://pro.naiveadmin.com" class="py-2" target="_blank">查看预览地址</a>
          </div>
        </el-descriptions-item>
        <el-descriptions-item label="Github">
          <div class="flex items-center">
            <a href="https://github.com/jekip/naive-ui-admin" class="py-2" target="_blank"
              >查看Github地址</a
            >
          </div>
        </el-descriptions-item>
        <el-descriptions-item label="QQ交流群">
          <div class="flex items-center">
            <a href="https://jq.qq.com/?_wv=1027&k=xib9dU4C" class="py-2" target="_blank"
              >点击链接加入群聊【Naive Admin】</a
            >
          </div>
        </el-descriptions-item>
      </el-descriptions>
    </el-card>

    <el-card shadow="never" class="mt-3 proCard" size="small">
      <template #header>
        <div class="card-header">
          <span>开发环境依赖</span>
        </div>
      </template>
      <el-descriptions border label-placement="left" class="py-2">
        <el-descriptions-item v-for="item in devSchema" :key="item.field" :label="item.field">
          {{ item.label }}
        </el-descriptions-item>
      </el-descriptions>
    </el-card>

    <el-card shadow="never" class="mt-3 proCard" size="small">
      <template #header>
        <div class="card-header">
          <span>生产环境依赖</span>
        </div>
      </template>
      <el-descriptions border label-placement="left" class="py-2">
        <el-descriptions-item v-for="item in schema" :key="item.field" :label="item.field">
          {{ item.label }}
        </el-descriptions-item>
      </el-descriptions>
    </el-card>
  </PageWrapper>
</template>

<script lang="ts" setup>
  export interface schemaItem {
    field: string;
    label: string;
  }

  const { pkg, lastBuildTime } = __APP_INFO__;
  const { dependencies, devDependencies, name, version } = pkg;

  const schema: schemaItem[] = [];
  const devSchema: schemaItem[] = [];

  Object.keys(dependencies).forEach((key) => {
    schema.push({ field: key, label: dependencies[key] });
  });

  Object.keys(devDependencies).forEach((key) => {
    devSchema.push({ field: key, label: devDependencies[key] });
  });
</script>
