<script lang="ts" setup>
import type { ICourseResource } from "~/types";

const props = defineProps<{
  resource: ICourseResource;
}>();

const emit = defineEmits<{
  (e: "delete-resource", resourceId: string): void;
}>();

const resourceIcon = computed(() => {
  switch (props.resource.type) {
    case "video":
      return "tabler:video";
    case "image":
      return "tabler:photo";
    case "ppt":
      return "tabler:file-type-ppt";
    case "doc":
      return "tabler:file-type-doc";

    default:
      return "tabler:file";
  }
});
</script>

<template>
  <div
    class="px-4 pl-8 py-1 flex justify-between group/resource hover:bg-muted/50"
  >
    <div class="flex items-center gap-2 relative text-muted-foreground">
      <div
        class="absolute inset-y-0 top-3 left-1.5 w-4 h-[1px] bg-gray-300 dark:bg-gray-700 z-0"
      />
      <div class="w-[7px] h-[7px] rounded-full bg-foreground/50 z-10" />
      <Icon :name="resourceIcon" class="ml-6" size="20px" />
      <span class="text-ellipsis line-clamp-1 text-xs font-medium">
        {{ resource.name }}
      </span>
    </div>
    <div
      class="flex items-center gap-2 mr-8 opacity-0 group-hover/resource:opacity-100"
    >
      <Button
        variant="link"
        size="xs"
        class="flex items-center gap-1 text-muted-foreground"
      >
        <Icon name="tabler:eye" size="16px" />
        <span>预览</span>
      </Button>
      <Button
        variant="link"
        size="xs"
        class="flex items-center gap-1 text-muted-foreground"
        :class="{
          'text-amber-500': resource.allow_download,
        }"
      >
        <Icon
          :name="
            resource.allow_download ? 'tabler:download-off' : 'tabler:download'
          "
          size="16px"
        />
        <span>
          {{ resource.allow_download ? "禁止下载" : "允许下载" }}
        </span>
      </Button>
      <!-- <Tooltip :delay-duration="0">
        <TooltipTrigger>
          
        </TooltipTrigger>
        <TooltipContent>
          {{ `当前${resource.allow_download ? "允许" : "禁止"}下载` }}
        </TooltipContent>
      </Tooltip> -->
      <Button
        variant="link"
        size="xs"
        class="flex items-center gap-1 text-red-500"
        @click="emit('delete-resource', resource.id)"
      >
        <Icon name="tabler:trash" size="16px" />
        <span>删除</span>
      </Button>
    </div>
  </div>
</template>

<style scoped></style>