From e9bc2bb4a249811b8a04d7e6bdee61aaa5442064 Mon Sep 17 00:00:00 2001 From: ditiqi Date: Thu, 27 Feb 2025 10:36:06 +0800 Subject: [PATCH] add --- .../main/courses/layout/AllCoursesLayout.tsx | 2 +- apps/web/src/app/main/courses/page.tsx | 7 ++-- .../main/layout/BasePost/BasePostLayout.tsx | 18 ++++++++++ .../BasePost}/FilterSection.tsx | 2 +- .../components/MyDutyListContainer.tsx | 2 +- apps/web/src/app/main/my-duty/page.tsx | 29 +++------------- .../components/MyLearningListContainer.tsx | 32 ++++++++++++++++++ apps/web/src/app/main/my-learning/page.tsx | 33 +++---------------- .../app/main/path/layout/PathListLayout.tsx | 22 ------------- apps/web/src/app/main/path/page.tsx | 9 +++-- 10 files changed, 75 insertions(+), 81 deletions(-) create mode 100644 apps/web/src/app/main/layout/BasePost/BasePostLayout.tsx rename apps/web/src/app/main/{courses/components => layout/BasePost}/FilterSection.tsx (96%) create mode 100644 apps/web/src/app/main/my-learning/components/MyLearningListContainer.tsx delete mode 100755 apps/web/src/app/main/path/layout/PathListLayout.tsx diff --git a/apps/web/src/app/main/courses/layout/AllCoursesLayout.tsx b/apps/web/src/app/main/courses/layout/AllCoursesLayout.tsx index 5062731..0dd908e 100755 --- a/apps/web/src/app/main/courses/layout/AllCoursesLayout.tsx +++ b/apps/web/src/app/main/courses/layout/AllCoursesLayout.tsx @@ -1,4 +1,4 @@ -import FilterSection from "../components/FilterSection"; +import FilterSection from "../../layout/BasePost/FilterSection"; import CoursesContainer from "../components/CoursesContainer"; export function AllCoursesLayout() { return ( diff --git a/apps/web/src/app/main/courses/page.tsx b/apps/web/src/app/main/courses/page.tsx index 9c9225e..391c9ac 100755 --- a/apps/web/src/app/main/courses/page.tsx +++ b/apps/web/src/app/main/courses/page.tsx @@ -1,8 +1,11 @@ -import AllCoursesLayout from "./layout/AllCoursesLayout"; +import BasePostLayout from "../layout/BasePost/BasePostLayout"; +import CoursesContainer from "./components/CoursesContainer"; export default function CoursesPage() { return ( <> - + + + ); } diff --git a/apps/web/src/app/main/layout/BasePost/BasePostLayout.tsx b/apps/web/src/app/main/layout/BasePost/BasePostLayout.tsx new file mode 100644 index 0000000..d21eda5 --- /dev/null +++ b/apps/web/src/app/main/layout/BasePost/BasePostLayout.tsx @@ -0,0 +1,18 @@ +import { ReactNode } from "react"; +import FilterSection from "./FilterSection"; + +export function BasePostLayout({ children }: { children: ReactNode }) { + return ( + <> +
+
+
+ +
+
{children}
+
+
+ + ); +} +export default BasePostLayout; diff --git a/apps/web/src/app/main/courses/components/FilterSection.tsx b/apps/web/src/app/main/layout/BasePost/FilterSection.tsx similarity index 96% rename from apps/web/src/app/main/courses/components/FilterSection.tsx rename to apps/web/src/app/main/layout/BasePost/FilterSection.tsx index 110ba8c..8d9ebff 100755 --- a/apps/web/src/app/main/courses/components/FilterSection.tsx +++ b/apps/web/src/app/main/layout/BasePost/FilterSection.tsx @@ -6,7 +6,7 @@ import { useEffect, useMemo, useState } from "react"; import { api } from "@nice/client"; import { useSearchParams } from "react-router-dom"; import TermSelect from "@web/src/components/models/term/term-select"; -import { useMainContext } from "../../layout/MainProvider"; +import { useMainContext } from "../MainProvider"; import TermParentSelector from "@web/src/components/models/term/term-parent-selector"; export default function FilterSection() { diff --git a/apps/web/src/app/main/my-duty/components/MyDutyListContainer.tsx b/apps/web/src/app/main/my-duty/components/MyDutyListContainer.tsx index b1cd8e2..f656398 100644 --- a/apps/web/src/app/main/my-duty/components/MyDutyListContainer.tsx +++ b/apps/web/src/app/main/my-duty/components/MyDutyListContainer.tsx @@ -5,7 +5,7 @@ import CourseCard from "../../courses/components/CourseCard"; import { PostType } from "@nice/common"; import { useMainContext } from "../../layout/MainProvider"; -export default function MyDutyPage() { +export default function MyDutyListContainer() { const { user } = useAuth(); const { searchCondition, termsCondition } = useMainContext(); return ( diff --git a/apps/web/src/app/main/my-duty/page.tsx b/apps/web/src/app/main/my-duty/page.tsx index 91d022b..4028ab0 100755 --- a/apps/web/src/app/main/my-duty/page.tsx +++ b/apps/web/src/app/main/my-duty/page.tsx @@ -1,29 +1,10 @@ -import PostList from "@web/src/components/models/course/list/PostList"; -import { useAuth } from "@web/src/providers/auth-provider"; -import { useMainContext } from "../layout/MainProvider"; -import CourseCard from "../courses/components/CourseCard"; -import { PostType } from "@nice/common"; +import BasePostLayout from "../layout/BasePost/BasePostLayout"; +import MyDutyListContainer from "./components/MyDutyListContainer"; export default function MyDutyPage() { - const { user } = useAuth(); - const { searchCondition } = useMainContext(); return ( - <> -
- ( - - )} - params={{ - pageSize: 12, - where: { - type: PostType.COURSE, - authorId: user.id, - ...searchCondition, - }, - }} - cols={4}> -
- + + + ); } diff --git a/apps/web/src/app/main/my-learning/components/MyLearningListContainer.tsx b/apps/web/src/app/main/my-learning/components/MyLearningListContainer.tsx new file mode 100644 index 0000000..a6e8226 --- /dev/null +++ b/apps/web/src/app/main/my-learning/components/MyLearningListContainer.tsx @@ -0,0 +1,32 @@ +import PostList from "@web/src/components/models/course/list/PostList"; +import { useAuth } from "@web/src/providers/auth-provider"; +import { useMainContext } from "../../layout/MainProvider"; +import CourseCard from "../../courses/components/CourseCard"; +import { PostType } from "@nice/common"; + +export default function MyLearningListContainer() { + const { user } = useAuth(); + const { searchCondition, termsCondition } = useMainContext(); + return ( + <> + ( + + )} + params={{ + pageSize: 12, + where: { + type: PostType.COURSE, + students: { + some: { + id: user?.id, + }, + }, + ...termsCondition, + ...searchCondition, + }, + }} + cols={4}> + + ); +} diff --git a/apps/web/src/app/main/my-learning/page.tsx b/apps/web/src/app/main/my-learning/page.tsx index 442dd63..58c38b2 100755 --- a/apps/web/src/app/main/my-learning/page.tsx +++ b/apps/web/src/app/main/my-learning/page.tsx @@ -1,33 +1,10 @@ -import PostList from "@web/src/components/models/course/list/PostList"; -import { useAuth } from "@web/src/providers/auth-provider"; -import { useMainContext } from "../layout/MainProvider"; -import CourseCard from "../courses/components/CourseCard"; -import { PostType } from "@nice/common"; +import BasePostLayout from "../layout/BasePost/BasePostLayout"; +import MyLearningListContainer from "./components/MyLearningListContainer"; export default function MyLearningPage() { - const { user } = useAuth(); - const { searchCondition } = useMainContext(); return ( - <> -
- ( - - )} - params={{ - pageSize: 12, - where: { - type: PostType.COURSE, - students: { - some: { - id: user?.id, - }, - }, - ...searchCondition, - }, - }} - cols={4}> -
- + + + ); } diff --git a/apps/web/src/app/main/path/layout/PathListLayout.tsx b/apps/web/src/app/main/path/layout/PathListLayout.tsx deleted file mode 100755 index 855fcfe..0000000 --- a/apps/web/src/app/main/path/layout/PathListLayout.tsx +++ /dev/null @@ -1,22 +0,0 @@ -import FilterSection from "../../courses/components/FilterSection"; - -import PathListContainer from "../components/PathListContainer"; - -export function PathListLayout() { - return ( - <> -
-
-
- - -
-
- -
-
-
- - ); -} -export default PathListLayout; diff --git a/apps/web/src/app/main/path/page.tsx b/apps/web/src/app/main/path/page.tsx index 825f3f7..d7231d3 100755 --- a/apps/web/src/app/main/path/page.tsx +++ b/apps/web/src/app/main/path/page.tsx @@ -1,5 +1,10 @@ -import PathListLayout from "./layout/PathListLayout"; +import BasePostLayout from "../layout/BasePost/BasePostLayout"; +import PathListContainer from "./components/PathListContainer"; export default function PathPage() { - return + return ( + + + + ); }