some bugfixes
All checks were successful
Build & Push Docker Image / docker (push) Successful in 1m51s

This commit is contained in:
Ahmed Darrazi 2025-12-18 23:09:34 +01:00
parent 60cc9db469
commit fd6ca8221f
5 changed files with 32 additions and 32 deletions

View File

@ -20,27 +20,27 @@ const Course = (props: StudentCourseProps) => {
const tabs = [ const tabs = [
{ {
value: 'modules', value: 'modules',
label: 'Modules', label: 'Module',
}, },
{ {
value: 'live_classes', value: 'live_classes',
label: 'Live Classes', label: 'Live-Sitzungen',
}, },
{ {
value: 'assignments', value: 'assignments',
label: 'Assignments', label: 'Aufgaben',
}, },
{ {
value: 'quizzes', value: 'quizzes',
label: 'Quizzes', label: 'Tests',
}, },
{ {
value: 'resources', value: 'resources',
label: 'Resources', label: 'Ressourcen',
}, },
{ {
value: 'certificate', value: 'certificate',
label: 'Certificate', label: 'Zertifikat',
}, },
]; ];

View File

@ -41,7 +41,7 @@ const Assignments = () => {
)) ))
) : ( ) : (
<TableRow> <TableRow>
<TableCell className="h-24 text-center">No assignments found.</TableCell> <TableCell className="h-24 text-center">Keine Aufgaben gefunden.</TableCell>
</TableRow> </TableRow>
)} )}
</TableBody> </TableBody>
@ -49,7 +49,7 @@ const Assignments = () => {
</div> </div>
) : ( ) : (
<div className="py-12 text-center"> <div className="py-12 text-center">
<p className="text-muted-foreground text-lg">No assignments available for this course yet.</p> <p className="text-muted-foreground text-lg">Für diesen Kurs sind noch keine Aufgaben verfügbar.</p>
</div> </div>
)} )}
</div> </div>

View File

@ -19,9 +19,9 @@ const Certificate = () => {
return ( return (
<Alert> <Alert>
<Lock className="h-4 w-4" /> <Lock className="h-4 w-4" />
<AlertTitle>Certificate & Marksheet Locked</AlertTitle> <AlertTitle>Zertifikat & Notenblatt gesperrt</AlertTitle>
<AlertDescription> <AlertDescription>
Complete all course modules to unlock your certificate and marksheet. Your current progress: {completion?.completion || 0}% Schließe alle Kursmodule ab, um dein Zertifikat und Notenblatt freizuschalten. Dein aktueller Fortschritt: {completion?.completion || 0}%
</AlertDescription> </AlertDescription>
</Alert> </Alert>
); );
@ -38,8 +38,8 @@ const Certificate = () => {
<Card> <Card>
<CardContent className="flex flex-col items-center justify-center p-12 text-center"> <CardContent className="flex flex-col items-center justify-center p-12 text-center">
<Award className="text-muted-foreground mb-4 h-16 w-16" /> <Award className="text-muted-foreground mb-4 h-16 w-16" />
<h3 className="mb-2 text-xl font-semibold">No Certificate or Marksheet Available</h3> <h3 className="mb-2 text-xl font-semibold">Kein Zertifikat oder Notenblatt verfügbar</h3>
<p className="text-muted-foreground">The instructor hasn't set up certificates or marksheets for this course yet.</p> <p className="text-muted-foreground">Der Dozent hat für diesen Kurs noch keine Zertifikate oder Notenblätter eingerichtet.</p>
</CardContent> </CardContent>
</Card> </Card>
</div> </div>
@ -52,11 +52,11 @@ const Certificate = () => {
<TabsList className="mb-6 grid h-11 w-full grid-cols-2"> <TabsList className="mb-6 grid h-11 w-full grid-cols-2">
<TabsTrigger value="certificate" className="flex h-9 cursor-pointer items-center gap-2"> <TabsTrigger value="certificate" className="flex h-9 cursor-pointer items-center gap-2">
<Award className="h-4 w-4" /> <Award className="h-4 w-4" />
Certificate Zertifikat
</TabsTrigger> </TabsTrigger>
<TabsTrigger value="marksheet" className="flex h-9 cursor-pointer items-center gap-2"> <TabsTrigger value="marksheet" className="flex h-9 cursor-pointer items-center gap-2">
<ClipboardList className="h-4 w-4" /> <ClipboardList className="h-4 w-4" />
Marksheet Notenblatt
</TabsTrigger> </TabsTrigger>
</TabsList> </TabsList>
@ -65,8 +65,8 @@ const Certificate = () => {
<Card> <Card>
<CardContent className="flex flex-col items-center justify-center p-12 text-center"> <CardContent className="flex flex-col items-center justify-center p-12 text-center">
<Award className="text-muted-foreground mb-4 h-16 w-16" /> <Award className="text-muted-foreground mb-4 h-16 w-16" />
<h3 className="mb-2 text-xl font-semibold">No Certificate Available</h3> <h3 className="mb-2 text-xl font-semibold">Kein Zertifikat verfügbar</h3>
<p className="text-muted-foreground">The instructor hasn't set up certificates for this course yet.</p> <p className="text-muted-foreground">Der Dozent hat für diesen Kurs noch keine Zertifikate eingerichtet.</p>
</CardContent> </CardContent>
</Card> </Card>
) : ( ) : (
@ -84,11 +84,11 @@ const Certificate = () => {
<Card> <Card>
<CardContent className="flex flex-col items-center justify-center p-12 text-center"> <CardContent className="flex flex-col items-center justify-center p-12 text-center">
<ClipboardList className="text-muted-foreground mb-4 h-16 w-16" /> <ClipboardList className="text-muted-foreground mb-4 h-16 w-16" />
<h3 className="mb-2 text-xl font-semibold">No Marksheet Available</h3> <h3 className="mb-2 text-xl font-semibold">Kein Notenblatt verfügbar</h3>
<p className="text-muted-foreground"> <p className="text-muted-foreground">
{!marksheetTemplate {!marksheetTemplate
? "The instructor hasn't set up marksheets for this course yet." ? 'Der Dozent hat für diesen Kurs noch keine Notenblätter eingerichtet.'
: 'No marks data available. Complete assignments and quizzes to view your marksheet.'} : 'Keine Notendaten verfügbar. Schließe Aufgaben und Tests ab, um dein Notenblatt zu sehen.'}
</p> </p>
</CardContent> </CardContent>
</Card> </Card>

View File

@ -41,7 +41,7 @@ const CourseAssignments = () => {
)) ))
) : ( ) : (
<TableRow> <TableRow>
<TableCell className="h-24 text-center">No assignments found.</TableCell> <TableCell className="h-24 text-center">Keine Aufgaben gefunden.</TableCell>
</TableRow> </TableRow>
)} )}
</TableBody> </TableBody>
@ -49,7 +49,7 @@ const CourseAssignments = () => {
</div> </div>
) : ( ) : (
<div className="py-12 text-center"> <div className="py-12 text-center">
<p className="text-muted-foreground text-lg">No assignments available for this course yet.</p> <p className="text-muted-foreground text-lg">Für diesen Kurs sind noch keine Aufgaben verfügbar.</p>
</div> </div>
)} )}
</div> </div>

View File

@ -19,9 +19,9 @@ const CourseCertificate = () => {
return ( return (
<Alert> <Alert>
<Lock className="h-4 w-4" /> <Lock className="h-4 w-4" />
<AlertTitle>Certificate & Marksheet Locked</AlertTitle> <AlertTitle>Zertifikat & Notenblatt gesperrt</AlertTitle>
<AlertDescription> <AlertDescription>
Complete all course modules to unlock your certificate and marksheet. Your current progress: {completion?.completion || 0}% Schließe alle Kursmodule ab, um dein Zertifikat und Notenblatt freizuschalten. Dein aktueller Fortschritt: {completion?.completion || 0}%
</AlertDescription> </AlertDescription>
</Alert> </Alert>
); );
@ -38,8 +38,8 @@ const CourseCertificate = () => {
<Card> <Card>
<CardContent className="flex flex-col items-center justify-center p-12 text-center"> <CardContent className="flex flex-col items-center justify-center p-12 text-center">
<Award className="text-muted-foreground mb-4 h-16 w-16" /> <Award className="text-muted-foreground mb-4 h-16 w-16" />
<h3 className="mb-2 text-xl font-semibold">No Certificate or Marksheet Available</h3> <h3 className="mb-2 text-xl font-semibold">Kein Zertifikat oder Notenblatt verfügbar</h3>
<p className="text-muted-foreground">The instructor hasn't set up certificates or marksheets for this course yet.</p> <p className="text-muted-foreground">Der Dozent hat für diesen Kurs noch keine Zertifikate oder Notenblätter eingerichtet.</p>
</CardContent> </CardContent>
</Card> </Card>
</div> </div>
@ -52,11 +52,11 @@ const CourseCertificate = () => {
<TabsList className="mb-6 grid h-11 w-full grid-cols-2"> <TabsList className="mb-6 grid h-11 w-full grid-cols-2">
<TabsTrigger value="certificate" className="flex h-9 cursor-pointer items-center gap-2"> <TabsTrigger value="certificate" className="flex h-9 cursor-pointer items-center gap-2">
<Award className="h-4 w-4" /> <Award className="h-4 w-4" />
Certificate Zertifikat
</TabsTrigger> </TabsTrigger>
<TabsTrigger value="marksheet" className="flex h-9 cursor-pointer items-center gap-2"> <TabsTrigger value="marksheet" className="flex h-9 cursor-pointer items-center gap-2">
<ClipboardList className="h-4 w-4" /> <ClipboardList className="h-4 w-4" />
Marksheet Notenblatt
</TabsTrigger> </TabsTrigger>
</TabsList> </TabsList>
@ -65,8 +65,8 @@ const CourseCertificate = () => {
<Card> <Card>
<CardContent className="flex flex-col items-center justify-center p-12 text-center"> <CardContent className="flex flex-col items-center justify-center p-12 text-center">
<Award className="text-muted-foreground mb-4 h-16 w-16" /> <Award className="text-muted-foreground mb-4 h-16 w-16" />
<h3 className="mb-2 text-xl font-semibold">No Certificate Available</h3> <h3 className="mb-2 text-xl font-semibold">Kein Zertifikat verfügbar</h3>
<p className="text-muted-foreground">The instructor hasn't set up certificates for this course yet.</p> <p className="text-muted-foreground">Der Dozent hat für diesen Kurs noch keine Zertifikate eingerichtet.</p>
</CardContent> </CardContent>
</Card> </Card>
) : ( ) : (
@ -84,11 +84,11 @@ const CourseCertificate = () => {
<Card> <Card>
<CardContent className="flex flex-col items-center justify-center p-12 text-center"> <CardContent className="flex flex-col items-center justify-center p-12 text-center">
<ClipboardList className="text-muted-foreground mb-4 h-16 w-16" /> <ClipboardList className="text-muted-foreground mb-4 h-16 w-16" />
<h3 className="mb-2 text-xl font-semibold">No Marksheet Available</h3> <h3 className="mb-2 text-xl font-semibold">Kein Notenblatt verfügbar</h3>
<p className="text-muted-foreground"> <p className="text-muted-foreground">
{!marksheetTemplate {!marksheetTemplate
? "The instructor hasn't set up marksheets for this course yet." ? 'Der Dozent hat für diesen Kurs noch keine Notenblätter eingerichtet.'
: 'No marks data available. Complete assignments and quizzes to view your marksheet.'} : 'Keine Notendaten verfügbar. Schließe Aufgaben und Tests ab, um dein Notenblatt zu sehen.'}
</p> </p>
</CardContent> </CardContent>
</Card> </Card>