From 1677d6393aaf4cd4e1457e39a8becd05e2215be8 Mon Sep 17 00:00:00 2001 From: Antoine Phan Date: Mon, 9 Jun 2025 15:35:44 -0400 Subject: [PATCH] Optimize homepage query, Portable Text formatting, Events --- bun.lock | 7 +++++++ package.json | 1 + src/routes/+page.server.js | 16 ++++++++++------ src/routes/+page.svelte | 19 ++++++++++++------ src/routes/events/+page.server.js | 4 ++-- src/routes/events/+page.svelte | 32 +++++++++++++++++++------------ 6 files changed, 53 insertions(+), 26 deletions(-) diff --git a/bun.lock b/bun.lock index 2fa3efd..e36d83a 100644 --- a/bun.lock +++ b/bun.lock @@ -7,6 +7,7 @@ "@sanity/client": "^7.2.2", }, "devDependencies": { + "@portabletext/svelte": "^3.0.0", "@skeletonlabs/skeleton": "^3.1.3", "@skeletonlabs/skeleton-svelte": "^1.2.1", "@sveltejs/adapter-auto": "^6.0.0", @@ -97,6 +98,12 @@ "@polka/url": ["@polka/url@1.0.0-next.29", "", {}, "sha512-wwQAWhWSuHaag8c4q/KN/vCoeOJYshAIvMQwD4GpSb3OiZklFfvAgmj0VCBBImRpuF/aFgIRzllXlVX93Jevww=="], + "@portabletext/svelte": ["@portabletext/svelte@3.0.0", "", { "dependencies": { "@portabletext/toolkit": "^2.0.17" }, "peerDependencies": { "svelte": "^5.0.0" } }, "sha512-1PTbasjgyYdA/vpt4BCs3Nc0Fr8pqJQRuI6llhpNe+JgZ1EoSstzzjkSSGn9TtPW7yPls5i/7QksqhYTjUDocw=="], + + "@portabletext/toolkit": ["@portabletext/toolkit@2.0.17", "", { "dependencies": { "@portabletext/types": "^2.0.13" } }, "sha512-5wj+oUaCmHm9Ay1cytPmT1Yc0SrR1twwUIc0qNQ3MtaXaNMPw99Gjt1NcA34yfyKmEf/TAB2NiiT72jFxdddIQ=="], + + "@portabletext/types": ["@portabletext/types@2.0.13", "", {}, "sha512-5xk5MSyQU9CrDho3Rsguj38jhijhD36Mk8S6mZo3huv6PM+t4M/5kJN2KFIxgvt4ONpvOEs1pVIZAV0cL0Vi+Q=="], + "@rollup/rollup-android-arm-eabi": ["@rollup/rollup-android-arm-eabi@4.40.0", "", { "os": "android", "cpu": "arm" }, "sha512-+Fbls/diZ0RDerhE8kyC6hjADCXA1K4yVNlH0EYfd2XjyH0UGgzaQ8MlT0pCXAThfxv3QUAczHaL+qSv1E4/Cg=="], "@rollup/rollup-android-arm64": ["@rollup/rollup-android-arm64@4.40.0", "", { "os": "android", "cpu": "arm64" }, "sha512-PPA6aEEsTPRz+/4xxAmaoWDqh67N7wFbgFUJGMnanCFs0TV99M0M8QhhaSCks+n6EbQoFvLQgYOGXxlMGQe/6w=="], diff --git a/package.json b/package.json index ffda084..e8dd1f0 100644 --- a/package.json +++ b/package.json @@ -2,6 +2,7 @@ "name": "ecsess-website", "version": "0.0.1", "devDependencies": { + "@portabletext/svelte": "^3.0.0", "@skeletonlabs/skeleton": "^3.1.3", "@skeletonlabs/skeleton-svelte": "^1.2.1", "@sveltejs/adapter-auto": "^6.0.0", diff --git a/src/routes/+page.server.js b/src/routes/+page.server.js index 4e33de6..23207c0 100644 --- a/src/routes/+page.server.js +++ b/src/routes/+page.server.js @@ -1,7 +1,9 @@ import { getFromCMS } from 'utils/utils.js'; -// needs to concat and format this text -const descQuery = `*[_type == "homepage"].description[].children[].text`; +const homepageQuery = `*[_type == "homepage"]{ + "description": description[], + "councilPhoto": councilPhoto.asset->url +}[0]`; const ohQuery = `*[_type=="oh"].schedule[]{ day, @@ -11,10 +13,12 @@ const ohQuery = `*[_type=="oh"].schedule[]{ }`; export const load = async () => { + let CMSresponse = await getFromCMS(homepageQuery); + return { - description: await getFromCMS(descQuery), - ohs: await getFromCMS(ohQuery), - pictures: "", - FAQs: "", + description: CMSresponse.description, + councilPhoto: CMSresponse.councilPhoto + // ohs: await getFromCMS(ohQuery), + // FAQs: "", }; }; diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index cedb97e..18d3a49 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -1,7 +1,9 @@ McGill ECSESS @@ -10,18 +12,18 @@

What is ECSESS?

-

{data.description}

+
+ +
+

Our student council

-

PICTURES

-
-
-

FAQ

+ ECSESS Council
@@ -29,6 +31,11 @@
-

Office Hours

+

FAQ

+

Under development

+
+
+

Office Hours

+

Under development

diff --git a/src/routes/events/+page.server.js b/src/routes/events/+page.server.js index d4ca43c..3151818 100644 --- a/src/routes/events/+page.server.js +++ b/src/routes/events/+page.server.js @@ -1,7 +1,7 @@ import { getFromCMS } from 'utils/utils.js'; // needs to concat and format this text -const query = `*[_type == "events"]{ +const eventQuery = `*[_type == "events"]{ name, category, date, @@ -12,6 +12,6 @@ const query = `*[_type == "events"]{ export const load = async () => { return { - events: await getFromCMS(query) + events: await getFromCMS(eventQuery), }; }; diff --git a/src/routes/events/+page.svelte b/src/routes/events/+page.svelte index 0f16f25..c14e632 100644 --- a/src/routes/events/+page.svelte +++ b/src/routes/events/+page.svelte @@ -1,19 +1,27 @@ ECSESS Events
-

Events

- {#each data.events as event} -
-

{event.name}

-

{event.date}

-

{event.location}

-

{event.description}

-
- - {/each} +

Events

+ {#each data.events as event} +
+

{event.name}

+

{event.date}

+

{event.location}

+ + Category: +
+
    + {#each event.category as cat} +
  • {cat}
  • + {/each} +
+
+
+ {/each}