#17 - Filter Modules on Courses
All checks were successful
CodyOps Core Builder / build-conteiner (pull_request) Successful in 6m9s

This commit is contained in:
Luciano Giacchetta 2025-08-21 19:05:14 -03:00
parent a01d40f97f
commit b954cfb651
2 changed files with 16 additions and 3 deletions

View File

@ -7,7 +7,19 @@ type Props = {
const { course }: Props = Astro.props;
const courseDurations = course.modules.flatMap((time:any) => (time.duration));
const isDev = import.meta.env.DEV;
const statusFilter = isDev ? { '_neq': 'archived' } : { '_eq': 'published' };
const filteredModules = course.modules.filter((module: any) => {
if (statusFilter._neq) {
return module.status !== statusFilter._neq;
} else if (statusFilter._eq) {
return module.status === statusFilter._eq;
}
return true;
});
const courseDurations = filteredModules.flatMap((time:any) => (time.duration));
const totalCourseDuration = sumTimes(courseDurations);
---
@ -28,7 +40,7 @@ const totalCourseDuration = sumTimes(courseDurations);
</div>
</div>
<div class="accordion accordion-btn-icon-start">
{course.modules.map((item: any, index:number) => (
{filteredModules.map((item: any, index:number) => (
<div class="accordion-item">
<div class="accordion-header" id={`headingCourse${index}`}>
<a

View File

@ -39,7 +39,8 @@ export const courses = await directus.request(
'duration',
'title',
'description',
'video'
'video',
'status'
]
}
],