--- import Button from "components/Button.astro"; import { type EndpointCredit, type PayloadImage, type RichTextContent, } from "src/shared/payload/payload-sdk"; import RichText from "./RichText/RichText.astro"; import TagGroups from "./TagGroups.astro"; import Credits from "./Credits.astro"; import DownloadButton from "./DownloadButton.astro"; import AppLayoutTitle from "./AppLayout/components/AppLayoutTitle.astro"; import type { ComponentProps } from "astro/types"; interface Props { previousImageHref?: string | undefined; nextImageHref?: string | undefined; image: PayloadImage; pretitle?: string | undefined; title: string; subtitle?: string | undefined; description?: RichTextContent | undefined; tagGroups?: ComponentProps["tagGroups"] | undefined; credits?: EndpointCredit[] | undefined; filename?: string | undefined; } const { nextImageHref, previousImageHref, image: { url, width, height }, tagGroups = [], credits, description, pretitle, title, subtitle, filename, } = Astro.props; const smallTitle = !subtitle && !pretitle; --- {/* ------------------------------------------- HTML ------------------------------------------- */}
0) || (credits && credits.length > 0) || description, }}> { smallTitle ? (

{title}

) : ( ) } {description && } {tagGroups && tagGroups.length > 0 && } {credits && credits.length > 0 && } {filename && }
{/* ------------------------------------------- CSS -------------------------------------------- */}