import { Card, Tag, Typography, Button } from "antd"; import { BookOutlined, EyeOutlined, PlayCircleOutlined, TeamOutlined, } from "@ant-design/icons"; import { CourseDto, TaxonomySlug } from "@nice/common"; import { useNavigate } from "react-router-dom"; interface CourseCardProps { course: CourseDto; edit?: boolean; } const { Title, Text } = Typography; export default function CourseCard({ course, edit = false }: CourseCardProps) { const navigate = useNavigate(); const handleClick = (course: CourseDto) => { if (!edit) { navigate(`/course/${course.id}/detail`); } else { navigate(`/course/${course.id}/editor`); } window.scrollTo({ top: 0, behavior: "smooth" }); }; return ( handleClick(course)} key={course.id} hoverable className="group overflow-hidden rounded-2xl border border-gray-200 bg-white shadow-xl hover:shadow-2xl transition-all duration-300 transform hover:-translate-y-2" cover={
}>
{course?.terms?.map((term) => { return ( <> {term.name} ); })}
<button> {course.title}</button>
{course?.depts?.length > 1 ? `${course.depts[0].name}等` : course?.depts?.[0]?.name} {/* {course?.depts?.map((dept) => {return dept.name.length > 1 ?`${dept.name.slice}等`: dept.name})} */} {/* {course?.depts?.map((dept)=>{return dept.name})} */}
{`观看次数 ${course?.meta?.views || 0}`} {`学习人数 ${course?.studentIds?.length || 0}`}
); }