import { Avatar, AvatarFallback, AvatarImage } from '@/components/ui/avatar'; import { Button } from '@/components/ui/button'; import { Card, CardContent, CardFooter, CardHeader } from '@/components/ui/card'; import { Tooltip, TooltipContent, TooltipProvider, TooltipTrigger } from '@/components/ui/tooltip'; import { cn, getCourseDuration, systemCurrency } from '@/lib/utils'; import { SharedData } from '@/types/global'; import { Link, router, usePage } from '@inertiajs/react'; import { Clock, Heart, Star, TrendingUp, Users } from 'lucide-react'; interface Props { course: Course; className?: string; wishlists?: CourseWishlist[]; } const CourseCard2 = ({ course, className, wishlists }: Props) => { const { props } = usePage(); const { user } = props.auth; const { button, common, frontend } = props.translate; const showWishlist = props.system.fields?.show_student_wishlist !== false; const isWishlisted = wishlists?.find((wishlist) => wishlist.course_id === course.id); const currency = systemCurrency(props.system.fields['selling_currency']); const handleWishlist = () => { if (isWishlisted) { router.delete(route('course-wishlists.destroy', { id: isWishlisted.id })); } else { router.post(route('course-wishlists.store', { user_id: user?.id, course_id: course.id })); } }; return (
{course.title} { const target = e.target as HTMLImageElement; target.src = '/assets/images/blank-image.jpg'; }} />
{wishlists && showWishlist && (

{isWishlisted ? button.remove_from_wishlist : button.add_to_wishlist}

)}

{course.course_category.title}

{course.discount ? (

{currency?.symbol} {course.discount_price}

) : ( '' )} {course.pricing_type === 'free' ? (

{common.free}

) : (

{currency?.symbol} {course.price}

)}

{course.title}

{course.average_rating || 0} ({course.reviews_count || 0} {common.reviews})

{course.enrollments_count || 0} {course.enrollments_count || 0 > 0 ? common.students : frontend.student}

IM

{course.instructor.user.name}

{getCourseDuration(course, 'readable')}

{course.level}

); }; export default CourseCard2;