---
import {
ArrowLeftIcon,
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';
export interface Props {
title: string;
description: string;
note?: string;
tnsBannerLink?: string;
roadmapId: string;
isUpcoming?: boolean;
hasSearch?: boolean;
projectCount?: number;
question?: RoadmapFrontmatter['question'];
hasTopics?: boolean;
isForkable?: boolean;
activeTab?: 'roadmap' | 'projects';
}
const {
title,
description,
roadmapId,
tnsBannerLink,
isUpcoming = false,
note,
hasTopics = false,
projectCount = 0,
question,
activeTab = 'roadmap',
} = Astro.props;
const roadmapTitle =
roadmapId === 'devops'
? 'DevOps'
: `${roadmapId.charAt(0).toUpperCase()}${roadmapId.slice(1)}`;
---
Partner Get the latest {roadmapTitle} news from our sister site{' '} TheNewStack.io