Skip to content

Commit

Permalink
Await formatted cards in one request and check that response is defined
Browse files Browse the repository at this point in the history
  • Loading branch information
emma-imber committed Jan 5, 2024
1 parent 5d47d44 commit fe5dcc1
Showing 1 changed file with 9 additions and 11 deletions.
20 changes: 9 additions & 11 deletions src/templates/csr/capi-multiple-paidfor/index.svelte
Original file line number Diff line number Diff line change
Expand Up @@ -36,7 +36,7 @@
export let Article4Kicker: GAMVariable;
export let Trackingpixel: GAMVariable;
let cards: CapiCardOverride[] = [
let cardOverrides: CapiCardOverride[] = [
{
headline: Article1Headline,
image: Article1Image,
Expand All @@ -63,42 +63,40 @@
},
];
const requestData = retrieveCapiData(cards, SeriesUrl);
const getCards = retrieveCapiData(cardOverrides, SeriesUrl).then((response) => addHeadlineKicker(cardOverrides, response.articles));
if (isValidReplacedVariable(Trackingpixel)) addTrackingPixel(Trackingpixel);
let height: number = -1;
</script>

{#await requestData}
{#await getCards}
<h3>Loading Content for “{SeriesUrl}”</h3>
{:then response}
{#await addHeadlineKicker(cards, response.articles)}
<p>Formatting cards...</p>
{:then formattedCards}
{:then cards}
{#if cards[0]}
<aside bind:clientHeight={height}>
<PaidForHeader
edition={response.articles[0].branding.edition}
edition={cards[0].branding.edition}
{ComponentTitle}
{SeriesUrl}
templateType="multiple"
/>
<div class="body">
<div class="cards-container">
{#each formattedCards as single}
{#each cards as single}
<CapiCard templateType="multiple" {single} />
{/each}
</div>
<div class="sponsor-container">
<Sponsor
branding={response.articles[0].branding}
branding={cards[0].branding}
templateType="multiple"
/>
</div>
</div>
</aside>
<Resizer {height} />
{/await}
{/if}
{:catch}
<h3>Could not fetch series “{SeriesUrl}”</h3>
{/await}
Expand Down

0 comments on commit fe5dcc1

Please sign in to comment.