diff --git a/apps/web/src/app/main/courses/components/CourseCard.tsx b/apps/web/src/app/main/courses/components/CourseCard.tsx index c860934..f7e93be 100755 --- a/apps/web/src/app/main/courses/components/CourseCard.tsx +++ b/apps/web/src/app/main/courses/components/CourseCard.tsx @@ -1,5 +1,4 @@ import { Card, Rate, Tag, Typography, Button } from "antd"; -import { Course } from "../mockData"; import { UserOutlined, ClockCircleOutlined, @@ -19,7 +18,6 @@ export default function CourseCard({ course }: CourseCardProps) { navigate(`/course/${course.id}/detail`); }; - return ( handleClick(course)} @@ -41,21 +39,25 @@ export default function CourseCard({ course }: CourseCardProps) { }>
- {course.terms.map((term) => { - return ( - - {term.name} - - ); - })} + {course.terms.map((term) => { + return ( + + {term.name} + + ); + })} {/* @@ -85,8 +87,8 @@ export default function CourseCard({ course }: CourseCardProps) {
- {(course.depts.map((depts)=>depts.name))} - {/* {course?.depts?.[0]?.name} */} + {course.depts.map((depts) => depts.name)} + {/* {course?.depts?.[0]?.name} */}
diff --git a/apps/web/src/app/main/courses/components/FilterSection.tsx b/apps/web/src/app/main/courses/components/FilterSection.tsx index 69fd828..2c754e4 100755 --- a/apps/web/src/app/main/courses/components/FilterSection.tsx +++ b/apps/web/src/app/main/courses/components/FilterSection.tsx @@ -1,5 +1,5 @@ import { Checkbox, Divider, Radio, Space, Spin } from "antd"; -import { categories, levels } from "../mockData"; + import { TaxonomySlug, TermDto } from "@nice/common"; import { useEffect, useMemo } from "react"; diff --git a/apps/web/src/app/main/courses/mockData.ts b/apps/web/src/app/main/courses/mockData.ts deleted file mode 100755 index 096d174..0000000 --- a/apps/web/src/app/main/courses/mockData.ts +++ /dev/null @@ -1,44 +0,0 @@ -export interface Course { - id: string; - title: string; - description: string; - instructor: string; - price: number; - originalPrice: number; - category: string; - level: string; - thumbnail: string; - rating: number; - enrollments: number; - duration: string; -} - -export const categories = [ - "计算机科学", - "数据科学", - "商业管理", - "人工智能", - "软件开发", - "网络安全", - "云计算", - "前端开发", - "后端开发", - "移动开发" -]; - -export const levels = ["入门", "初级", "中级", "高级"]; - -export const mockCourses: Course[] = Array.from({ length: 50 }, (_, i) => ({ - id: `course-${i + 1}`, - title: `${categories[i % categories.length]}课程 ${i + 1}`, - description: "本课程将带你深入了解该领域的核心概念和实践应用,通过实战项目提升你的专业技能。", - instructor: `讲师 ${i + 1}`, - price: Math.floor(Math.random() * 500 + 99), - originalPrice: Math.floor(Math.random() * 1000 + 299), - category: categories[i % categories.length], - level: levels[i % levels.length], - thumbnail: `/api/placeholder/280/160`, - rating: Number((Math.random() * 2 + 3).toFixed(1)), - enrollments: Math.floor(Math.random() * 10000), - duration: `${Math.floor(Math.random() * 20 + 10)}小时` -})); \ No newline at end of file diff --git a/apps/web/src/app/main/courses/page.tsx b/apps/web/src/app/main/courses/page.tsx index fa2fe9a..803b372 100755 --- a/apps/web/src/app/main/courses/page.tsx +++ b/apps/web/src/app/main/courses/page.tsx @@ -1,5 +1,4 @@ import { useState, useMemo, useEffect } from "react"; -import { mockCourses } from "./mockData"; import FilterSection from "./components/FilterSection"; import CourseList from "./components/CourseList"; import { api } from "@nice/client"; @@ -19,7 +18,7 @@ interface paginationData { } export default function CoursesPage() { const { searchValue, setSearchValue } = useMainContext(); - + return ( <>