<template>
  <a-trigger trigger="click" position="br">
    <div class="task-item" @click="handleTask(task, record)">
      <div class="w-4px h-18px rounded-2px" :style="{ background: getTaskColor() }"></div>
      <div>{{ task?.name || '-' }}</div>
    </div>
    <template #content>
      <div
        class="flex flex-col items-start"
        style="background-color: #fff; padding: 12px; box-shadow: #00000010 0px 2px 8px; border-radius: 4px"
      ></div>
    </template>
  </a-trigger>
</template>

<script setup lang="ts">
// 定义props和emit
const props = defineProps({
  task: Object,
  record: Object,
});
// 时间戳转时间格式 (HH:MM)
const timestampToTime = (timestamp: number): string => {
  const date = new Date(timestamp * 1000); // 假设时间戳是秒级
  // 获取小时和分钟
  const hours = date.getHours().toString().padStart(2, '0');
  const minutes = date.getMinutes().toString().padStart(2, '0');

  return `${hours}:${minutes}`;
};
const emit = defineEmits(['filter-change', 'handle-task']);
const handleTask = (task, record) => {};
// 根据任务类型获取颜色
const getTaskColor = () => {
  if (!props.task) return '#000';

  // 根据colorTip.vue中的颜色定义设置不同状态的颜色
  switch (props.task.status) {
    case 0: // 待生成
      return '#ffae00';
    case 1: // 待发布
      return '#6d4cfe';
    case 2: // 已发布
      return '#939499';
    case 3: // 发布失败
      return '#f64b31';
    default:
      return props.task.color || '#939499';
  }
};
</script>

<style lang="less" scoped>
.task-item {
  width: 100%;
  font-size: 12px;
  height: 19px;
  display: flex;
  align-items: center;
  gap: 4px;

  &:last-child {
    margin-bottom: 0;
  }
}
</style>
