diff --git a/apps/web/src/components/models/course/detail/CoursePreview/coursePreviewAllmsg.tsx b/apps/web/src/components/models/course/detail/CoursePreview/CoursePreview.tsx similarity index 94% rename from apps/web/src/components/models/course/detail/CoursePreview/coursePreviewAllmsg.tsx rename to apps/web/src/components/models/course/detail/CoursePreview/CoursePreview.tsx index 2a89d44..7d6d4f4 100644 --- a/apps/web/src/components/models/course/detail/CoursePreview/coursePreviewAllmsg.tsx +++ b/apps/web/src/components/models/course/detail/CoursePreview/CoursePreview.tsx @@ -5,9 +5,6 @@ import type { TabsProps } from "antd"; import { PlayCircleOutlined } from "@ant-design/icons"; import { CourseDetailContext } from "../CourseDetailContext"; export function CoursePreview() { - const TapOnChange = (key: string) => { - console.log(key); - }; const { course, isLoading, lecture, lectureIsLoading, selectedLectureId } = useContext(CourseDetailContext); return ( @@ -37,7 +34,7 @@ export function CoursePreview() { {course.subTitle} - {course.Description} + {course.content} )} @@ -48,14 +45,6 @@ export function CoursePreview() { -
- -
); } diff --git a/apps/web/src/components/models/course/editor/context/CourseEditorContext.tsx b/apps/web/src/components/models/course/editor/context/CourseEditorContext.tsx index 5ee54b3..913bf34 100755 --- a/apps/web/src/components/models/course/editor/context/CourseEditorContext.tsx +++ b/apps/web/src/components/models/course/editor/context/CourseEditorContext.tsx @@ -2,6 +2,7 @@ import { createContext, useContext, ReactNode, useEffect } from "react"; import { Form, FormInstance, message } from "antd"; import { CourseDto, + CourseMeta, CourseStatus, ObjectType, PostType, @@ -10,6 +11,7 @@ import { import { api, usePost } from "@nice/client"; import { useNavigate } from "react-router-dom"; import { z } from "zod"; +import { useAuth } from "@web/src/providers/auth-provider"; export type CourseFormData = { title: string; @@ -42,6 +44,7 @@ export function CourseFormProvider({ }: CourseFormProviderProps) { const [form] = Form.useForm(); const { create, update, createCourse } = usePost(); + const { user } = useAuth(); const { data: course }: { data: CourseDto } = api.post.findFirst.useQuery( { where: { id: editId }, @@ -77,7 +80,7 @@ export function CourseFormProvider({ } }, [course, form]); - const onSubmit = async (values: CourseFormData) => { + const onSubmit = async (values: any) => { console.log(values); const sections = values?.sections || []; const termIds = taxonomies @@ -87,7 +90,7 @@ export function CourseFormProvider({ const formattedValues = { ...values, meta: { - thumbnail: values.thumbnail, + thumbnail: values?.meta?.thumbnail, }, terms: { connect: termIds.map((id) => ({ id })), // 转换成 connect 格式 @@ -98,6 +101,12 @@ export function CourseFormProvider({ delete formattedValues[tax.id]; }); delete formattedValues.sections; + if (course) { + formattedValues.meta = { + ...(course?.meta as CourseMeta), + thumbnail: values?.meta?.thumbnail, + }; + } try { if (editId) { await update.mutateAsync({ @@ -110,6 +119,7 @@ export function CourseFormProvider({ courseDetail: { data: { title: formattedValues.title || "12345", + // state: CourseStatus.DRAFT, type: PostType.COURSE, ...formattedValues,