diff --git a/apps/api/src/routers/courses/courses.py b/apps/api/src/routers/courses/courses.py
index f9485e80..6244c838 100644
--- a/apps/api/src/routers/courses/courses.py
+++ b/apps/api/src/routers/courses/courses.py
@@ -31,8 +31,8 @@ async def api_create_course(
name: str = Form(),
description: str = Form(),
public: bool = Form(),
- learnings: str = Form(),
- tags: str = Form(),
+ learnings: str = Form(None),
+ tags: str = Form(None),
about: str = Form(),
current_user: PublicUser = Depends(get_current_user),
db_session: Session = Depends(get_db_session),
diff --git a/apps/api/src/services/courses/courses.py b/apps/api/src/services/courses/courses.py
index cd667db7..cc007a56 100644
--- a/apps/api/src/services/courses/courses.py
+++ b/apps/api/src/services/courses/courses.py
@@ -146,6 +146,9 @@ async def create_course(
)
course.thumbnail_image = name_in_disk
+ else:
+ course.thumbnail_image = ""
+
# Insert course
db_session.add(course)
db_session.commit()
diff --git a/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx b/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx
index bd391921..d7d16a7b 100644
--- a/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx
+++ b/apps/web/app/orgs/[orgslug]/(withmenu)/course/[courseuuid]/course.tsx
@@ -73,9 +73,13 @@ const CourseClient = (props: any) => {
-
-
-
+ {props.course.thumbnail_image ?
+
+
+ :
+
+
+ }
@@ -185,15 +189,24 @@ const CourseClient = (props: any) => {
-
+
{user &&
-
+
Author
-
{course.authors[0].first_name} {course.authors[0].last_name} {(course.authors[0].first_name && course.authors[0].last_name) ? course.authors[0].first_name + ' ' + course.authors[0].last_name : course.authors[0].username}
+
+ {course.authors[0].first_name && course.authors[0].last_name && (
+
+
{course.authors[0].first_name + ' ' + course.authors[0].last_name}
@{course.authors[0].username }
+
)}
+ {!course.authors[0].first_name && !course.authors[0].last_name && (
+
+
@{course.authors[0].username}
+
)}
+
}
diff --git a/apps/web/components/Dashboard/UI/CourseOverviewTop.tsx b/apps/web/components/Dashboard/UI/CourseOverviewTop.tsx
index 1400b4d4..e0f409cf 100644
--- a/apps/web/components/Dashboard/UI/CourseOverviewTop.tsx
+++ b/apps/web/components/Dashboard/UI/CourseOverviewTop.tsx
@@ -7,6 +7,8 @@ import { getUriWithOrg } from "@services/config/config";
import { useOrg } from "@components/Contexts/OrgContext";
import { getCourseThumbnailMediaDirectory } from "@services/media/media";
import Link from "next/link";
+import Image from "next/image";
+import EmptyThumbnailImage from '../../../public/empty_thumbnail.png';
export function CourseOverviewTop({ params }: { params: CourseOverviewParams }) {
const course = useCourse() as any;
@@ -21,7 +23,10 @@ export function CourseOverviewTop({ params }: { params: CourseOverviewParams })
+ {course?.courseStructure?.thumbnail ?

+ :
+
}
Course
diff --git a/apps/web/components/Objects/Modals/Course/Create/CreateCourse.tsx b/apps/web/components/Objects/Modals/Course/Create/CreateCourse.tsx
index d1cc4db2..94726a97 100644
--- a/apps/web/components/Objects/Modals/Course/Create/CreateCourse.tsx
+++ b/apps/web/components/Objects/Modals/Course/Create/CreateCourse.tsx
@@ -111,16 +111,16 @@ function CreateCourseModal({ closeModal, orgslug }: any) {
Please provide a thumbnail for your course
-
+
- Course tags (separated by comma)
+ Course Learnings (separated by comma)
Please provide learning elements, separated by comma (,)
-
+
diff --git a/apps/web/components/Objects/Thumbnails/CourseThumbnail.tsx b/apps/web/components/Objects/Thumbnails/CourseThumbnail.tsx
index 3acdbe6c..95451400 100644
--- a/apps/web/components/Objects/Thumbnails/CourseThumbnail.tsx
+++ b/apps/web/components/Objects/Thumbnails/CourseThumbnail.tsx
@@ -41,9 +41,10 @@ function CourseThumbnail(props: PropsType) {
-
-
+ {props.course.thumbnail_image ?
+ :
}
+
{props.course.name}
diff --git a/apps/web/public/empty_thumbnail.png b/apps/web/public/empty_thumbnail.png
new file mode 100644
index 00000000..52eb3faf
Binary files /dev/null and b/apps/web/public/empty_thumbnail.png differ
diff --git a/apps/web/services/courses/courses.ts b/apps/web/services/courses/courses.ts
index e9ba32f4..5e2efae1 100644
--- a/apps/web/services/courses/courses.ts
+++ b/apps/web/services/courses/courses.ts
@@ -45,7 +45,10 @@ export async function createNewCourse(org_id: string, course_body: any, thumbnai
formData.append("learnings", course_body.tags);
formData.append("tags", course_body.tags);
formData.append("about", course_body.description);
- formData.append("thumbnail", thumbnail);
+
+ if (thumbnail) {
+ formData.append("thumbnail", thumbnail);
+ }
const result = await fetch(`${getAPIUrl()}courses/?org_id=${org_id}`, RequestBodyForm("POST", formData, null));
const res = await errorHandling(result);