import { CommentOutlined } from "@ant-design/icons"; import { Card, Flex, Typography } from "antd"; import { LessonPreview } from "core/types/lesson"; import { Constants, getImageUrl } from "core/utils/utils"; import { Link } from "react-router-dom"; import MyUpload from "shared/components/MyUpload"; import styles from "./styles.module.css"; export default function MyLessonPreviewCard({ mode = "view", lessonId, loading = false, lessonPreview, onEditTitle, onThumbnailChanged, }: { mode: "view" | "editable"; lessonId: string; loading?: boolean; lessonPreview: LessonPreview; onEditTitle?: (newTitle: string) => void; onThumbnailChanged?: () => void; }) { const LinkWrapper = ({ children }: { children: React.ReactNode }) => { if (mode === "editable") return <>{children}; return ( {children} ); }; const UploadWrapper = ({ children }: { children: React.ReactNode }) => { if (mode === "view") return <>{children}; return ( { if (info.file.status === "done") { onThumbnailChanged?.(); } }} imgCropProps={{ aspect: 5 / 4, children: <>, }} > {children} ); }; return (
lesson thumbnail {mode === "view" ? (
{lessonPreview.Title}
12 comments
) : ( onEditTitle?.(event), }} style={{ width: "100%", }} > {lessonPreview.Title} )}
); }