From eb5328a718544093f423e6f251099acef394602a Mon Sep 17 00:00:00 2001 From: hobbes7878 Date: Fri, 18 Apr 2025 12:10:09 +0100 Subject: [PATCH] footer --- .../ReferralBlock/ReferralBlock.svelte | 4 +- src/components/SiteFooter/CompanyLinks.svelte | 15 ++++++- src/components/SiteFooter/LegalLinks.svelte | 23 ++++++++-- src/components/SiteFooter/QuickLinks.svelte | 34 ++++++++++++-- src/components/SiteFooter/SiteFooter.mdx | 45 +++++++++++++++++++ .../SiteFooter/SiteFooter.stories.svelte | 43 +++--------------- src/components/SiteFooter/data.json | 4 +- 7 files changed, 120 insertions(+), 48 deletions(-) create mode 100644 src/components/SiteFooter/SiteFooter.mdx diff --git a/src/components/ReferralBlock/ReferralBlock.svelte b/src/components/ReferralBlock/ReferralBlock.svelte index f1e49c90..bdf825c7 100644 --- a/src/components/ReferralBlock/ReferralBlock.svelte +++ b/src/components/ReferralBlock/ReferralBlock.svelte @@ -31,11 +31,11 @@ /** * Link [target](https://developer.mozilla.org/en-US/docs/Web/HTML/Element/a#attr-target), e.g., `_blank` or `_parent`. */ - linkTarget: string; + linkTarget?: string; /** * Add a heading to the referral block. */ - heading: string; + heading?: string; /** * Width of the component within the text well: 'normal' | 'wide' | 'wider' | 'widest' | 'fluid' */ diff --git a/src/components/SiteFooter/CompanyLinks.svelte b/src/components/SiteFooter/CompanyLinks.svelte index 239a704d..d5bbba2b 100644 --- a/src/components/SiteFooter/CompanyLinks.svelte +++ b/src/components/SiteFooter/CompanyLinks.svelte @@ -14,7 +14,17 @@ linkedin: LinkedIn, }; - let { links = {} } = $props(); + interface Props { + links: { + company_description?: string; + social_links?: { + type: string; + url: string; + }[]; + }; + } + + let { links = {} }: Props = $props(); {#if links.social_links} @@ -29,7 +39,8 @@
diff --git a/src/components/SiteFooter/QuickLinks.svelte b/src/components/SiteFooter/QuickLinks.svelte index fbb07608..cccf2b98 100644 --- a/src/components/SiteFooter/QuickLinks.svelte +++ b/src/components/SiteFooter/QuickLinks.svelte @@ -11,7 +11,33 @@ videos: Videos, }; - let { links = {} } = $props(); + interface Props { + links: { + latest_links: { + url: string; + text: string; + }[]; + media_links: { + symbol: string; + url: string; + text: string; + }[]; + browse_links: { + url: string; + text: string; + }[]; + about_links: { + url: string; + text: string; + }[]; + stay_informed_links: { + url: string; + text: string; + }[]; + }; + } + + let { links }: Props = $props(); let windowWidth = $state(1200); const mobileBreakpoint = 745; @@ -39,7 +65,8 @@

Media