From b065cf254d4d39b0d80d211eb08f535141c9087c Mon Sep 17 00:00:00 2001 From: Jon McClure Date: Sat, 26 Nov 2022 21:11:37 +0000 Subject: [PATCH] referral block --- .../ReferralBlock.stories.svelte | 55 ++++ .../ReferralBlock/ReferralBlock.svelte | 238 ++++++++++++++++++ src/components/ReferralBlock/stores.js | 3 + .../ReferralBlock/stories/docs/component.md | 13 + src/index.js | 1 + 5 files changed, 310 insertions(+) create mode 100644 src/components/ReferralBlock/ReferralBlock.stories.svelte create mode 100644 src/components/ReferralBlock/ReferralBlock.svelte create mode 100644 src/components/ReferralBlock/stores.js create mode 100644 src/components/ReferralBlock/stories/docs/component.md diff --git a/src/components/ReferralBlock/ReferralBlock.stories.svelte b/src/components/ReferralBlock/ReferralBlock.stories.svelte new file mode 100644 index 00000000..5dbd0f65 --- /dev/null +++ b/src/components/ReferralBlock/ReferralBlock.stories.svelte @@ -0,0 +1,55 @@ + + + + + + + diff --git a/src/components/ReferralBlock/ReferralBlock.svelte b/src/components/ReferralBlock/ReferralBlock.svelte new file mode 100644 index 00000000..be808a34 --- /dev/null +++ b/src/components/ReferralBlock/ReferralBlock.svelte @@ -0,0 +1,238 @@ + + + +{#if $referrals.length === number} + + {#if heading} +

{heading}

+ {/if} + +
+{/if} + + diff --git a/src/components/ReferralBlock/stores.js b/src/components/ReferralBlock/stores.js new file mode 100644 index 00000000..c7247634 --- /dev/null +++ b/src/components/ReferralBlock/stores.js @@ -0,0 +1,3 @@ +import { writable } from 'svelte/store'; + +export const referrals = writable([]); diff --git a/src/components/ReferralBlock/stories/docs/component.md b/src/components/ReferralBlock/stories/docs/component.md new file mode 100644 index 00000000..5cc913b7 --- /dev/null +++ b/src/components/ReferralBlock/stories/docs/component.md @@ -0,0 +1,13 @@ +The `ReferralBlock` component creates a set of referral links from recent dotcom stories using the [recent stories by section API](https://www.reuters.com/pf/api/v3/content/fetch/recent-stories-by-sections-v1?query=%7B%22section_ids%22%3A%22%2Fworld%2F%22%2C%22size%22%3A20%2C%22website%22%3A%22reuters%22%7D). + +> The `section` prop determines which section stories are from. +> +> You can get the section ID from the section page on dotcom. For example, the section ID for World - Europe stories at `www.reuters.com/world/europe/` would be `/world/europe/`. (The leading and trailing slashes are required!) + +```svelte + + + +``` diff --git a/src/index.js b/src/index.js index bf9d637c..34c0b5f6 100644 --- a/src/index.js +++ b/src/index.js @@ -15,6 +15,7 @@ export { default as PaddingReset } from './components/PaddingReset/PaddingReset. export { default as PhotoPack } from './components/PhotoPack/PhotoPack.svelte'; export { default as PymChild } from './components/PymChild/PymChild.svelte'; export { pymChildStore } from './components/PymChild/stores.js'; +export { default as ReferralBlock } from './components/ReferralBlock/ReferralBlock.svelte'; export { default as ReutersLogo } from './components/ReutersLogo/ReutersLogo.svelte'; export { default as Scroller } from './components/Scroller/Scroller.svelte'; export { default as SEO } from './components/SEO/SEO.svelte';