diff --git a/src/components/SponsorBanner.astro b/src/components/SponsorBanner.astro new file mode 100644 index 0000000..5262d4c --- /dev/null +++ b/src/components/SponsorBanner.astro @@ -0,0 +1,94 @@ +--- +import type { Sponsor } from '../type' + +interface Props { + sponsors: Sponsor[] +} + +const { sponsors } = Astro.props +--- + +{ + sponsors.length > 0 && ( +
+ ) +} + + + + diff --git a/src/layouts/Layout.astro b/src/layouts/Layout.astro index a9aaef9..ab24846 100644 --- a/src/layouts/Layout.astro +++ b/src/layouts/Layout.astro @@ -1,7 +1,10 @@ --- import { ClientRouter } from 'astro:transitions' +import { OPENPLANNER_URL } from 'astro:env/client' +import type { OpenPlannerType } from '../type' import FooterBlock from '../components/footer/FooterBlock.astro' import Menu from '../components/Menu.astro' +import SponsorBanner from '../components/SponsorBanner.astro' interface Props { title: string @@ -10,6 +13,13 @@ interface Props { } const { title, description, metaImage } = Astro.props + +const response = await fetch(OPENPLANNER_URL) +const openPlannerData: OpenPlannerType = await response.json() +const bannerSponsors = openPlannerData.sponsors.flatMap((cat) => + cat.sponsors.filter((s) => s.customFields?.['option-comm'] === true) +) + const url = import.meta.env.SITE const image = metaImage || url + '/social-share5.jpg' const siteName = 'Sunny Tech' @@ -79,6 +89,7 @@ const organizerTwitter = '@sunnyTech_MTP' Aller au contenu principal +