import { FolderKanban, MapIcon, Plus, Sparkle, Eye, EyeOff, } from 'lucide-react'; import { useState } from 'react'; import type { ProjectStatusDocument } from '../Projects/ListProjectSolutions.tsx'; import { CheckIcon } from '../ReactIcons/CheckIcon.tsx'; import type { UserProgress } from '../TeamProgress/TeamProgressPage.tsx'; import { HeroProject } from './HeroProject'; import { HeroRoadmap } from './HeroRoadmap'; import { CreateRoadmapButton } from '../CustomRoadmap/CreateRoadmap/CreateRoadmapButton.tsx'; import { HeroItemsGroup } from './HeroItemsGroup'; export type AIRoadmapType = { id: string; title: string; slug: string; }; type FavoriteRoadmapsProps = { progress: UserProgress[]; projects: (ProjectStatusDocument & { title: string; })[]; customRoadmaps: UserProgress[]; aiRoadmaps: AIRoadmapType[]; isLoading: boolean; }; export function FavoriteRoadmaps(props: FavoriteRoadmapsProps) { const { progress, isLoading, customRoadmaps, aiRoadmaps, projects } = props; const [showCompleted, setShowCompleted] = useState(false); const completedProjects = projects.filter( (project) => project.submittedAt && project.repositoryUrl, ); const inProgressProjects = projects.filter( (project) => !project.submittedAt || !project.repositoryUrl, ); const projectsToShow = [ ...inProgressProjects, ...(showCompleted ? completedProjects : []), ]; return (