--- import { Image } from '@astrojs/image/components'; import IconButton from '@/components/icon-button.astro'; import LabelledValue from '@/components/labelled-value.astro'; import TagsList from '@/components/tags-list.astro'; import Timestamp from '@/components/timestamp.astro'; import Typography from '@/components/typography.astro'; import type { I18n } from '@/types/i18n'; import type { Project } from '@/types/portfolio-section'; export interface Props { project: Project; i18n: I18n; } const { project, i18n } = Astro.props; const { description, details, endDate, name, socials, startDate, tags, image } = project; // Alt has to destructured separately, because otherwise eslint complains about // the missing alt attribute on the Image component. const { alt, ...sharedImageProps } = { src: image, aspectRatio: 1, alt: `Thumbnail for ${name} project`, format: 'webp', } as const; ---
{name}
{ socials?.map(({ icon, url, name: socialName }) => ( )) }
{alt}
{ details.map(({ label: detailLabel, value: detailValue }) => ( )) }
{description}