Some checks failed
Main Branch / Run Prettier check (push) Has been cancelled
Main Branch / Run TypeScript check (push) Has been cancelled
Main Branch / Run Astro check (push) Has been cancelled
Main Branch / Run Percy check (push) Has been cancelled
Main Branch / Create release (push) Has been cancelled
Main Branch / Deploy to Netlify (push) Has been cancelled
Main Branch / Run Lighthouse check (push) Has been cancelled
28 lines
1,020 B
Text
28 lines
1,020 B
Text
---
|
|
import type { MainSection } from '@/types/sections/main-section.types';
|
|
import Photo from '@/components/photo.astro';
|
|
import Description from '@/pdf/components/description.astro';
|
|
import LabelledValue from '@/pdf/components/labelled-value.astro';
|
|
|
|
export interface Props extends MainSection {}
|
|
|
|
const { image, fullName, role, details, pdfDetails, description } = Astro.props;
|
|
---
|
|
|
|
<div class="flex flex-col gap-4">
|
|
<div class="flex gap-6">
|
|
<Photo src={image} alt={fullName} class="h-40 max-h-[160px] w-40 max-w-[160px] rounded-2xl" />
|
|
<div>
|
|
<div class="text-3xl font-extrabold text-gray-900">{fullName}</div>
|
|
<div class="text-lg font-medium text-gray-700">{role}</div>
|
|
<div class="grid grid-cols-[auto_auto] gap-x-4 gap-y-1 pt-4">
|
|
{
|
|
(pdfDetails ?? details).map((detail) => (
|
|
<LabelledValue {...detail} class={detail.fullRow ? 'col-span-2' : undefined} />
|
|
))
|
|
}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
<Description content={description} />
|
|
</div>
|