2026-05-02 08:26:18 +12:00
|
|
|
<script lang="ts">
|
2026-05-02 19:44:45 +12:00
|
|
|
import { getImageMetadata } from '$lib/image-metadata';
|
2026-05-02 08:26:18 +12:00
|
|
|
import type { PromiseContent } from '$lib/types';
|
|
|
|
|
|
|
|
|
|
export let promise: PromiseContent;
|
2026-05-02 19:44:45 +12:00
|
|
|
|
|
|
|
|
$: promiseImage = getImageMetadata(promise.imageUrl);
|
2026-05-02 08:26:18 +12:00
|
|
|
</script>
|
|
|
|
|
|
|
|
|
|
<section id="promise">
|
|
|
|
|
<div class="promise-inner">
|
|
|
|
|
<div class="promise-text">
|
|
|
|
|
<h2>
|
|
|
|
|
{promise.title}<br />
|
|
|
|
|
{promise.subtitle}
|
|
|
|
|
</h2>
|
|
|
|
|
|
|
|
|
|
<p>
|
|
|
|
|
{promise.body}
|
|
|
|
|
<strong>{promise.emphasis}</strong>
|
|
|
|
|
</p>
|
|
|
|
|
|
|
|
|
|
<a href={promise.cta.href} class="btn btn-green">{promise.cta.label}</a>
|
|
|
|
|
</div>
|
|
|
|
|
|
|
|
|
|
<div class="promise-img">
|
2026-05-02 19:44:45 +12:00
|
|
|
<img
|
|
|
|
|
src={promise.imageUrl}
|
|
|
|
|
alt={promise.imageAlt}
|
|
|
|
|
width={promiseImage?.width}
|
|
|
|
|
height={promiseImage?.height}
|
|
|
|
|
loading="lazy"
|
|
|
|
|
decoding="async"
|
|
|
|
|
/>
|
2026-05-02 08:26:18 +12:00
|
|
|
</div>
|
|
|
|
|
</div>
|
|
|
|
|
</section>
|