--- import { nanoid } from 'nanoid'; import type { PortfolioSection, Project } from '@/types/sections/portfolio-section.types'; import Description from '@/web/components/description.astro'; import LabelledValue from '@/web/components/labelled-value.astro'; import LinkButton from '@/web/components/link-button.astro'; import Photo from '@/components/photo.astro'; import TagsList from '@/web/components/tags-list.astro'; import Timestamp from '@/web/components/timestamp.astro'; import Typography from '@/web/components/typography.astro'; import Thumbnail from '@/web/components/thumbnail.astro'; export interface Props extends Project { screenshotsConfig?: PortfolioSection['config']['screenshots']; } const { dates, description, details, image, links, name, tagsList, screenshots, screenshotsConfig } = Astro.props; const alt = `${name} project thumbnail`; const galleryId = nanoid(8); const hasScreenshots = screenshots?.length && screenshots.length > 0; const screenshotsIcon = screenshotsConfig?.icon || 'fa6-solid:image'; const screenshotsTooltip = screenshotsConfig?.title || 'Screenshots'; ---
{name}
{links.map((link) => )} { hasScreenshots && ( ) }
{details.map((detail) => )}