2026-05-12 17:14:50 +08:00
|
|
|
---
|
2026-05-18 15:39:38 +08:00
|
|
|
import { assetPath } from '../assets'
|
2026-05-13 13:46:21 +08:00
|
|
|
import type { Translations } from '../i18n/translations'
|
2026-05-12 17:14:50 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
export interface Props {
|
|
|
|
|
t: Translations['experience']
|
|
|
|
|
}
|
2026-05-12 17:14:50 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
const { t } = Astro.props
|
2026-05-18 15:39:38 +08:00
|
|
|
const images = [
|
|
|
|
|
assetPath("/assets/exp-card-1.png"),
|
|
|
|
|
assetPath("/assets/exp-card-2.png"),
|
|
|
|
|
assetPath("/assets/exp-card-3.png"),
|
|
|
|
|
]
|
2026-05-13 13:46:21 +08:00
|
|
|
const imageClasses = ['experience-card__image--one', 'experience-card__image--two', 'experience-card__image--three']
|
|
|
|
|
---
|
2026-05-12 17:14:50 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<section id="experience" class="experience">
|
|
|
|
|
<div class="experience__inner">
|
2026-05-15 17:44:31 +08:00
|
|
|
<div class="experience__heading">
|
|
|
|
|
<p class="experience__title">
|
|
|
|
|
{t.title}
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<p class="experience__caption">
|
|
|
|
|
{t.caption}
|
|
|
|
|
</p>
|
|
|
|
|
</div>
|
2026-05-12 17:14:50 +08:00
|
|
|
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="experience__body">
|
|
|
|
|
<div class="experience__grid">
|
|
|
|
|
{t.cards.map((card, index) => (
|
|
|
|
|
<div class="experience-card">
|
|
|
|
|
<div class={`experience-card__media ${index > 0 ? 'experience-card__media--tinted' : ''}`}>
|
|
|
|
|
<div class="experience-card__media-crop">
|
|
|
|
|
<img
|
|
|
|
|
alt={card.alt}
|
|
|
|
|
class={`experience-card__image ${imageClasses[index]}`}
|
|
|
|
|
src={images[index]}
|
|
|
|
|
/>
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-05-13 13:46:21 +08:00
|
|
|
<div class="experience-card__copy">
|
|
|
|
|
<p class="experience-card__title">{card.title}</p>
|
|
|
|
|
<p class="experience-card__description">{card.desc}</p>
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
2026-05-13 13:46:21 +08:00
|
|
|
))}
|
2026-05-12 17:14:50 +08:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|