Files
ECSESS/src/routes/+page.server.ts
2025-07-25 17:28:04 -04:00

43 lines
1.1 KiB
TypeScript

import { getFromCMS } from '$lib/utils.js';
import type { HomepageCMSResponse, OfficeHour, Sponsors } from '$lib/schemas';
const homepageQuery = `*[_type == "homepage"]{
"description": description[],
"councilPhoto": councilPhoto.asset->url+"?h=1200&fm=webp",
"faqs": faqs[]{ question, answer },
}[0]`;
const ohQuery = `*[_type=="officeHours"]{
day,
startTime,
endTime,
"member": {
"name": member->name,
"position": member->position
}
}`;
const sponsorQuery = `*[_type=="sponsors"]{
name,
url,
"logo": logo.asset->url+"?h=100&fm=webp"
}`;
export const load = async () => {
/**
* @description Response data type based on the `homepageQuery` above.
* Note that `description` is a rich/portable text type
*/
let homepageResp: HomepageCMSResponse = await getFromCMS(homepageQuery);
let officeHourResp: OfficeHour[] = await getFromCMS(ohQuery);
let sponsorsResp: Sponsors[] = await getFromCMS(sponsorQuery);
return {
description: homepageResp.description,
councilPhoto: homepageResp.councilPhoto,
faqs: homepageResp.faqs,
allOHs: officeHourResp,
sponsors: sponsorsResp
};
};