Press n or j to go to the next uncovered block, b, p or k for the previous block.
| 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 | <script lang="ts"> import Link from "$lib/components/Link"; import Tag from "$lib/components/Tag"; import { headingTagByLevel, type HeadingLevel, } from "$lib/components/ContentfulRichText/headings"; import { getDateStringFromUTCDate } from "$lib/util/dates"; type NewsEntry = { __typename?: "News"; type?: string | null; title?: string | null; subhead?: string | null; publicationDate?: Date | string | null; slug?: string | null; byline?: string | null; sys: { __typename?: "Sys"; id: string; }; }; type NewsSnippetVariation = "default" | "homepage-featured" | "homepage-listed"; export let entry: NonNullable<NewsEntry>; export let headingLevel: HeadingLevel = 2; export let variation: NewsSnippetVariation = "default"; $: ({ slug, title, subhead, byline, type, publicationDate } = entry); $: dateString = getDateStringFromUTCDate(publicationDate as string); $: isArticle = type === "News article"; </script> {#if title && slug} <div class={`ldaf-news-entry ldaf-news-entry--${variation}`}> <Link class="display-block" href={`/about/news/article/${slug}`}> <svelte:element this={headingTagByLevel[headingLevel]} class="news-title"> {title} </svelte:element> </Link> {#if variation === "homepage-listed"} <div class="margin-bottom-1"><Tag>{type}</Tag></div> {/if} {#if subhead && variation !== "homepage-listed"} <p class="margin-y-1">{subhead}</p> {/if} <div class="font-body-2xs"> {#if isArticle && byline} By {byline}<br /> {/if} {dateString} </div> {#if variation !== "homepage-listed"} <div class="margin-y-1"> <Tag>{type}</Tag> </div> {/if} </div> <hr class="margin-bottom-2" /> {/if} <style> .news-title { font-size: 18px; margin: 0; } </style> |