From ba67ddd411bb78682214b94fcca716dd4bf066bf Mon Sep 17 00:00:00 2001
From: Marty Byrde <45905689+Marty-Byrde@users.noreply.github.com>
Date: Sat, 28 Mar 2026 10:13:04 +0100
Subject: [PATCH 01/25] feat: drafted `CourseContentOverview` component
This component may be used to show the contents associated to a given check, e.g. within the `OverviewSection` when creating a new course.
---
.../create/(sections)/ContentSection.tsx | 56 ++++++++++++++++++-
1 file changed, 55 insertions(+), 1 deletion(-)
diff --git a/src/components/courses/create/(sections)/ContentSection.tsx b/src/components/courses/create/(sections)/ContentSection.tsx
index a465c1a7..b9951856 100644
--- a/src/components/courses/create/(sections)/ContentSection.tsx
+++ b/src/components/courses/create/(sections)/ContentSection.tsx
@@ -1,14 +1,18 @@
'use client'
import { generateHTML } from '@tiptap/core'
-import { PenIcon, PlusCircleIcon, TrashIcon } from 'lucide-react'
+import { Info, PenIcon, PlusCircleIcon, TrashIcon } from 'lucide-react'
import CourseContentDialog from '@/src/components/courses/create/(sections)/CourseContentDialog'
import { useCourseStore } from '@/src/components/courses/create/CreateCourseProvider'
import { Button } from '@/src/components/shadcn/button'
import { Card, CardAction, CardContent, CardDescription, CardHeader, CardTitle } from '@/src/components/shadcn/card'
+import GenericCard from '@/src/components/Shared/Card'
+import { CardStageJumpButton } from '@/src/components/Shared/CardStageJumpButton'
import ConfirmationDialog from '@/src/components/Shared/ConfirmationDialog/ConfirmationDialog'
import { RichTextEditor, RichTextEditorExtensions } from '@/src/components/tiptap-examples/RichTextEditor'
import { useScopedI18n } from '@/src/i18n/client-localization'
+import { cn } from '@/src/lib/Shared/utils'
+import { CourseContent } from '@/src/schemas/CourseContentSchema'
export default function ContentSection() {
const { contents, removeCourseContent } = useCourseStore((store) => store)
@@ -66,3 +70,53 @@ export default function ContentSection() {
)
}
+
+export function CourseContentOverview({ jumpBackButton = true }: { jumpBackButton?: boolean }) {
+ const { contents } = useCourseStore((store) => store)
+ const t = useScopedI18n('Courses.Create.ContentSection')
+
+ function Element(content: CourseContent) {
+ return (
+ {content.description}{content.title}
+ {t('title')}
+ {t('title')}
+
{content.description}
-