--- import { ArrowLeftIcon, BookOpenIcon, FolderKanbanIcon, MapIcon, MessageCircle, } from 'lucide-react'; import { TabLink } from './TabLink'; import LoginPopup from './AuthenticationFlow/LoginPopup.astro'; import { ScheduleButton } from './Schedule/ScheduleButton'; import ProgressHelpPopup from './ProgressHelpPopup.astro'; import { MarkFavorite } from './FeaturedItems/MarkFavorite'; import { type RoadmapFrontmatter } from '../lib/roadmap'; import { ShareRoadmapButton } from './ShareRoadmapButton'; import { DownloadRoadmapButton } from './DownloadRoadmapButton'; import { CourseAnnouncement } from './SQLCourse/CourseAnnouncement'; export interface Props { title: string; description: string; note?: string; partner?: { description: string; link: string; linkText: string; }; roadmapId: string; isUpcoming?: boolean; hasSearch?: boolean; projectCount?: number; coursesCount?: number; question?: RoadmapFrontmatter['question']; hasTopics?: boolean; isForkable?: boolean; activeTab?: 'roadmap' | 'projects' | 'courses'; } const { title, description, roadmapId, partner, isUpcoming = false, note, hasTopics = false, projectCount = 0, question, activeTab = 'roadmap', coursesCount = 0, } = Astro.props; const hasCourses = coursesCount > 0; const hasProjects = projectCount > 0; ---
{ partner && ( ) }

{title}

{description}

{ (
{hasProjects && ( 0 ? '' : 'soon'} /> )} {hasCourses && ( )}
) }