import React, { useState } from 'react'; import { BookOpen, Calendar, ChevronRight, FolderOpen, Info, Presentation, Users } from 'lucide-react'; import { Card, CardContent, CardHeader, CardTitle } from '../../components/ui/card'; import { Button } from '../../components/ui/button'; import { Progress } from '../../components/ui/progress'; import { useGetAssignedHrProgrammesQuery } from '../../redux/services/learnersApi'; const ProgrammesPage: React.FC = () => { const { data, isLoading, isError } = useGetAssignedHrProgrammesQuery({ limit: 10, start: 0, }); const [openProgrammeId, setOpenProgrammeId] = useState(null); const programmeItems = data?.data.programme_items ?? []; const formatDate = (date: string) => new Date(date).toLocaleDateString('en-GB', { day: '2-digit', month: 'short', year: 'numeric', }); return (

My Programs

{isLoading &&

Loading programmes...

} {isError &&

Failed to load programmes. Please try again.

} {!isLoading && !isError && programmeItems.length === 0 && (

No programmes found.

)}
{programmeItems.map((programme) => { const isOpen = openProgrammeId === programme.id; return ( setOpenProgrammeId((prev) => (prev === programme.id ? null : programme.id))} >
{programme.programme_title}
{programme.progress ?? 0}% Complete Ends: {formatDate(programme.end_date)} {programme.courses} Courses {programme.webinars} Webinars {programme.resources} Resources {programme.classes} Classes

Programme Summary

{programme.courses} Courses {programme.resources} Resources {programme.webinars} Webinars {programme.classes} Classes
Progress {programme.progress ?? 0}%
); })}
); }; export default ProgrammesPage;