diff --git a/src/components/SeoMetaTags.svelte b/src/components/SeoMetaTags.svelte new file mode 100644 index 0000000..74269e5 --- /dev/null +++ b/src/components/SeoMetaTags.svelte @@ -0,0 +1,32 @@ + + + + + + {title} + + + + + + + + + + + + + + + + + + diff --git a/src/routes/+page.server.ts b/src/routes/+page.server.ts index 134aa84..a8e6805 100644 --- a/src/routes/+page.server.ts +++ b/src/routes/+page.server.ts @@ -23,7 +23,7 @@ const sponsorQuery = `*[_type=="sponsors"]{ "logo": logo.asset->url+"?h=100&fm=webp" }`; -export const load = async () => { +export const load = async ({ url }) => { /** * @description Response data type based on the `homepageQuery` above. * Note that `description` is a rich/portable text type @@ -37,6 +37,7 @@ export const load = async () => { councilPhoto: homepageResp.councilPhoto, faqs: homepageResp.faqs, allOHs: officeHourResp, - sponsors: sponsorsResp + sponsors: sponsorsResp, + canonical: url.href }; }; \ No newline at end of file diff --git a/src/routes/+page.svelte b/src/routes/+page.svelte index efa1d05..8ce1d43 100644 --- a/src/routes/+page.svelte +++ b/src/routes/+page.svelte @@ -4,6 +4,7 @@ import RichText from 'components/RichText.svelte'; import OhSchedule from 'components/OHSchedule.svelte'; import Link from 'components/Link.svelte'; + import SeoMetaTags from 'components/SeoMetaTags.svelte'; import { fade } from 'svelte/transition'; /** loading things from the server side */ @@ -11,10 +12,11 @@ // Temporary progress bar. Update the value below! import { Progress } from '@skeletonlabs/skeleton-svelte'; - let progress = 63.33; + let progress = 80; - McGill ECSESS + +
@@ -23,7 +25,9 @@

{#each 'We are ECSESS!' as char, i} - {char} + {char} {/each}

diff --git a/src/routes/council/+page.server.ts b/src/routes/council/+page.server.ts index ede79b8..7867909 100644 --- a/src/routes/council/+page.server.ts +++ b/src/routes/council/+page.server.ts @@ -17,10 +17,12 @@ const councilGoofyPicQuery = `*[_type == "homepage"]{ "url": councilGoofyPic.asset->url+"?h=1200&fm=webp" }[0]`; -export const load = async () => { +export const load = async ({ url }) => { let councilMembers: CouncilMember[] = await getFromCMS(councilQuery); + return { members: councilMembers, - councilGoofyPic: await getFromCMS(councilGoofyPicQuery) + councilGoofyPic: await getFromCMS(councilGoofyPicQuery), + canonical: url.href }; }; diff --git a/src/routes/council/+page.svelte b/src/routes/council/+page.svelte index 89ad7e7..f206796 100644 --- a/src/routes/council/+page.svelte +++ b/src/routes/council/+page.svelte @@ -5,6 +5,7 @@ import type { CouncilMember } from '$lib/schemas'; import { fly } from 'svelte/transition'; import Button from 'components/Button.svelte'; + import SeoMetaTags from 'components/SeoMetaTags.svelte'; let { data } = $props(); @@ -38,7 +39,12 @@ } - ECSESS council + +

Meet the council!

diff --git a/src/routes/events/+page.server.ts b/src/routes/events/+page.server.ts index d9d7879..d3918d0 100644 --- a/src/routes/events/+page.server.ts +++ b/src/routes/events/+page.server.ts @@ -9,17 +9,19 @@ const eventQuery = `*[_type == "events"]{ description, reglink, paylink, - "thumbnail": thumbnail.asset->url+"?h=700&fm=webp", + "thumbnail": thumbnail.asset->url+"?h=800&fm=webp", "lastUpdated": _updatedAt, }`; -export const load = async () => { +export const load = async ({ url }) => { let listOfEvents: EventPost[] = await getFromCMS(eventQuery); - //TODO: Why is this mad? + let sortedEvents = listOfEvents.sort( (a, b) => new Date(b.date).getTime() - new Date(a.date).getTime() ); + return { - events: sortedEvents + events: sortedEvents, + canonical: url.href }; }; diff --git a/src/routes/events/+page.svelte b/src/routes/events/+page.svelte index 7347500..33df253 100644 --- a/src/routes/events/+page.svelte +++ b/src/routes/events/+page.svelte @@ -1,18 +1,30 @@ + +

Events

- (group = e.value)} listClasses="flex-wrap place-content-center"> + (group = e.value)} + listClasses="flex-wrap place-content-center" + > {#snippet list()} All Events Academic diff --git a/src/routes/join/+page.server.ts b/src/routes/join/+page.server.ts new file mode 100644 index 0000000..8351742 --- /dev/null +++ b/src/routes/join/+page.server.ts @@ -0,0 +1,5 @@ +export const load = async ({ url }) => { + return { + canonical: url.href + }; +}; diff --git a/src/routes/join/+page.svelte b/src/routes/join/+page.svelte index 055e86d..69b0002 100644 --- a/src/routes/join/+page.svelte +++ b/src/routes/join/+page.svelte @@ -1,19 +1,24 @@ - Join ECSESS !!! +

Want to join ECSESS Council?

+

Come back around March for application period!

{#if isElectionTime} - - A guide to involvement with ECSESS and its subcommittees (The Factory, IEEE McGill, CodeJam). - - {:else} -

Come back around March for application period!

- {/if} + + A guide to involvement with ECSESS and its subcommittees (The Factory, IEEE McGill, CodeJam). + + {:else}{/if}
diff --git a/src/routes/r/[shortname]/+page.svelte b/src/routes/r/[shortname]/+page.svelte index 243578b..9dc51bc 100644 --- a/src/routes/r/[shortname]/+page.svelte +++ b/src/routes/r/[shortname]/+page.svelte @@ -3,6 +3,8 @@ let { data } = $props(); + Hmm... you're not supposed to be here :/ +

Can't redirect you to "r/{data.shortname}"!


diff --git a/src/routes/resources/+page.server.ts b/src/routes/resources/+page.server.ts index b627263..f2a07b8 100644 --- a/src/routes/resources/+page.server.ts +++ b/src/routes/resources/+page.server.ts @@ -8,9 +8,10 @@ const query = `*[_type == "resources"]{ description, }`; -export const load = async () => { +export const load = async ({ url }) => { const resources: Resource[] = await getFromCMS(query); return { - resources: resources + resources: resources, + canonical: url.href }; }; diff --git a/src/routes/resources/+page.svelte b/src/routes/resources/+page.svelte index 225e1f2..2710f74 100644 --- a/src/routes/resources/+page.svelte +++ b/src/routes/resources/+page.svelte @@ -1,10 +1,15 @@ - Resources +

Resources