From 6eff0e5e83bc5a90b68e461660ee478ae2f7c48f Mon Sep 17 00:00:00 2001 From: Antoine Phan Date: Mon, 26 Jan 2026 23:46:43 -0500 Subject: [PATCH] General fix the homepage and the sponsor block overflow on mobile --- src/components/Link.svelte | 3 +- src/components/homepage/Sponsors.svelte | 45 ++++++++++++++-------- src/components/layout/PageThumbnail.svelte | 8 ++-- src/components/officehour/OHBlock.svelte | 2 +- src/lib/schemas.ts | 9 ----- src/routes/+layout.server.ts | 7 +++- src/routes/+page.server.ts | 8 ++-- 7 files changed, 45 insertions(+), 37 deletions(-) diff --git a/src/components/Link.svelte b/src/components/Link.svelte index d3b0e12..2094483 100644 --- a/src/components/Link.svelte +++ b/src/components/Link.svelte @@ -1,11 +1,12 @@ {@render children()} diff --git a/src/components/homepage/Sponsors.svelte b/src/components/homepage/Sponsors.svelte index e9913ed..ed1e773 100644 --- a/src/components/homepage/Sponsors.svelte +++ b/src/components/homepage/Sponsors.svelte @@ -12,9 +12,14 @@

Our Sponsors

-

- We're grateful to our sponsors for their continued support of ECSESS and our community. +

+ We're grateful to our sponsors for their continued support of ECSESS, our events, activities, + and our community.

+
@@ -22,26 +27,32 @@
- + {#if sponsors && sponsors.length > 0} -
- {#each sponsors as sponsor} - -
+
+ {#each sponsors as sponsor} + - {sponsor.name} Logo -
- - {/each} +
+ {sponsor.name} +
+ + {/each} +
{:else}
-

No sponsors at this time.

+

You can be our next sponsor!

{/if} diff --git a/src/components/layout/PageThumbnail.svelte b/src/components/layout/PageThumbnail.svelte index 37507ba..e194505 100644 --- a/src/components/layout/PageThumbnail.svelte +++ b/src/components/layout/PageThumbnail.svelte @@ -1,8 +1,10 @@ - - + {#if thumbnail} + + + {/if} diff --git a/src/components/officehour/OHBlock.svelte b/src/components/officehour/OHBlock.svelte index e9da008..5676bec 100644 --- a/src/components/officehour/OHBlock.svelte +++ b/src/components/officehour/OHBlock.svelte @@ -9,7 +9,7 @@

{officeHour.member.name.split(' ')[0]} diff --git a/src/lib/schemas.ts b/src/lib/schemas.ts index eb9eba2..d3522ee 100644 --- a/src/lib/schemas.ts +++ b/src/lib/schemas.ts @@ -36,15 +36,6 @@ export type FAQ = { answer: string; }; -export type HomepageCMSResponse = { - description: InputValue; - councilPhoto: string; - faqs: { - question: string; - answer: string; - }[]; -}; - export type OfficeHour = { day: string; startTime: string; diff --git a/src/routes/+layout.server.ts b/src/routes/+layout.server.ts index 061305f..4a972c6 100644 --- a/src/routes/+layout.server.ts +++ b/src/routes/+layout.server.ts @@ -5,5 +5,10 @@ const thumbnailQuery = `*[_type == "homepage"]{ }[0]`; export const load = async () => { - return { thumbnail: (await getFromCMS(thumbnailQuery)).thumbnail }; + try { + return { thumbnail: (await getFromCMS(thumbnailQuery)).thumbnail }; + } catch (err) { + console.error('Failed to fetch homepage thumbnail from CMS:', err); + return { thumbnail: null }; + } }; diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 5c665e8..2106645 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -1,5 +1,5 @@ import { getFromCMS } from '$lib/utils.js'; -import type { HomepageCMSResponse, OfficeHour, Sponsors } from '$lib/schemas'; +import type { OfficeHour, Sponsors } from '$lib/schemas'; const homepageQuery = `{ "homepage": *[_type == "homepage"]{ @@ -28,14 +28,12 @@ export const load = async ({ url }) => { * Note that `description` is a rich/portable text type */ let homePageResp = await getFromCMS(homepageQuery); - let homepageResp: HomepageCMSResponse = homePageResp.homepage; + let councilPhotoUrl: string = homePageResp.homepage.councilPhoto; let officeHourResp: OfficeHour[] = homePageResp.officeHours; let sponsorsResp: Sponsors[] = homePageResp.sponsors; return { - description: homepageResp.description, - councilPhoto: homepageResp.councilPhoto, - faqs: homepageResp.faqs, + councilPhoto: councilPhotoUrl, allOHs: officeHourResp, sponsors: sponsorsResp, canonical: url.href