<script setup lang="ts">
import { ref, onMounted } from "vue";
import config from "@/app.config";
import http from "@/plugins/http";
import { useQuasar } from "quasar";

import { useCounterMixin } from "@/stores/mixin";

const mixins = useCounterMixin();
const $q = useQuasar();
const { date2Thai, success, messageError } = mixins;

const props = defineProps({
  evaluateId: {
    type: String,
  },
});

const dateStartAnnounce = ref<string | null>(date2Thai(new Date()));
const dateEndAnnounce = ref<string | null>(date2Thai(new Date()));

const items = ref<any>([
  {
    label: "แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)",
    fileName: "5-แบบสรุปข้อมูลของผู้ขอรับการคัดเลือก (เอกสารหมายเลข 9)",
  },
  {
    label: "ประกาศผลการคัดเลือกบุคคล (เอกสารหมายเลข 10)",
    fileName: "10-ประกาศผลการคัดเลือกบุคคล (เอกสารหมายเลข 10)",
  },
  {
    label: "เอกสารแสดงผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)",
    fileName: "6-ผลงานที่จะส่งประเมิน (เอกสารหมายเลข 11)",
  },
]);

async function onClickfetchDocument(fileName: string) {
  props.evaluateId &&
    (await http
      .get(config.API.loadFileDocument("เล่ม 1", props.evaluateId, fileName))
      .then((res) => {
        const downloadUrl = res.data.downloadUrl;
        const textarea = document.createElement("textarea");
        textarea.value = downloadUrl;
        document.body.appendChild(textarea);
        textarea.select();
        document.execCommand("copy");
        success($q, "คัดลอกลิ้งค์สำเร็จ");
      })
      .catch((err) => {
        messageError($q, err);
      }));
}

async function fetchCheckDate() {
  props.evaluateId &&
    (await http
      .get(config.API.evaluationCheckDate(props.evaluateId))
      .then((res) => {
        const data = res.data.result;
        dateStartAnnounce.value = date2Thai(data.dateStartAnnounce);
        dateEndAnnounce.value = date2Thai(data.dateStartAnnounce);
      })
      .catch((err) => {}));
}

onMounted(async () => {
  fetchCheckDate();
});
</script>

<template>
  <div class="row q-gutter-md">
    <div class="col-12 text-center">
      <q-banner class="text-weight-bold text-red-14 bg-red-2">
        <div class="text-weight-bold">
          <q-icon name="info_outline" color="red-14" size="24px" />
          ประกาศเมื่อวันที่ {{ dateStartAnnounce }} ถึง {{ dateEndAnnounce }}
        </div>
      </q-banner>
      <!-- <q-badge
        v-if="status == 'ANNOUNCE_WEB'"
        outline
        color="primary"
        label="ประกาศบนเว็บไซต์"
        class="q-pa-sm"
        style="font-size: 16px"
      />
      <div> -->
      <!-- <a :href="website" target="_blank">{{ website }}</a> -->
      <!-- </div> -->
    </div>

    <div class="col-12">
      <q-card bordered style="border: 1px solid #d6dee1">
        <div class="text-weight-medium bg-grey-1 q-py-sm q-px-md">
          เอกสารประกาศผลการคัดเลือกบุคคล
        </div>
        <div class="col-12"><q-separator /></div>
        <div class="row q-pa-md">
          <div class="col-12">
            <q-list>
              <q-item v-for="(item, index) in items" :key="index">
                <q-item-section>
                  <q-item-label>{{ item.label }}</q-item-label>
                </q-item-section>

                <q-item-section side top>
                  <q-btn
                    flat
                    round
                    color="primary"
                    icon="mdi-clipboard-outline"
                    @click="onClickfetchDocument(item.fileName)"
                  >
                    <q-tooltip>คัดลอกลิ้งค์</q-tooltip>
                  </q-btn>
                </q-item-section>
              </q-item>
            </q-list>
          </div>
        </div>
      </q-card>
    </div>
  </div>
</template>

<style scoped></style>
