Files
gw-svelte/src/lib/components/PromiseSection.svelte
T

42 lines
976 B
Svelte
Raw Normal View History

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>
2026-05-03 11:49:59 +12:00
{#each promise.body as paragraph, idx}
<p>
{paragraph}
{#if idx === promise.body.length - 1}
<strong>{promise.emphasis}</strong>
{/if}
</p>
{/each}
2026-05-02 08:26:18 +12:00
<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>