diff --git a/cspell.json b/cspell.json index 7cc01b5..2fd8dc4 100644 --- a/cspell.json +++ b/cspell.json @@ -47,6 +47,7 @@ "fosstodon", "griffing", "Harborside", + "hor'dourves", "igalia", "inngest", "Instabase", diff --git a/src/assets/venues/howlAtTheMoonDark.png b/src/assets/venues/howlAtTheMoonDark.png new file mode 100644 index 0000000..21f7f25 Binary files /dev/null and b/src/assets/venues/howlAtTheMoonDark.png differ diff --git a/src/assets/venues/howlAtTheMoonLight.png b/src/assets/venues/howlAtTheMoonLight.png new file mode 100644 index 0000000..99a7530 Binary files /dev/null and b/src/assets/venues/howlAtTheMoonLight.png differ diff --git a/src/components/AdImage.astro b/src/components/AdImage.astro index e98e939..30bb9ae 100644 --- a/src/components/AdImage.astro +++ b/src/components/AdImage.astro @@ -5,15 +5,21 @@ import { Image } from "astro:assets"; interface Props { src: ImageMetadata; } + +const className = + Astro.props.src.height > Astro.props.src.width + ? "ad-image-tall" + : "ad-image-wide"; --- - + diff --git a/src/data/schedule.ts b/src/data/schedule.ts index d5b19e8..db97c50 100644 --- a/src/data/schedule.ts +++ b/src/data/schedule.ts @@ -231,10 +231,15 @@ export const days: ScheduleDay[] = [ title: "Closing Announcements", }, { + at: "7:30pm", description: [ - "We'll set up a casual space for folks to mingle after the conference. Location and time TBA.", - "Subscribe to our [newsletter](/#newsletter) to be the first to hear about it.", + "After dinner, bring your badge for entry and hang out with the organizers, speakers, and fellow attendees in our mixer.", + "Expect locally prepared hor'dourves and a craft lemonade stand.", ], + location: { + href: "https://www.howlatthemoon.com/boston", + text: "Howl at the Moon Boston", + }, title: "Post-Conference Hangout", }, ], diff --git a/src/data/venues.ts b/src/data/venues.ts new file mode 100644 index 0000000..e63b9a4 --- /dev/null +++ b/src/data/venues.ts @@ -0,0 +1,13 @@ +import howlAtTheMoonDark from "../assets/venues/howlAtTheMoonDark.png"; +import howlAtTheMoonLight from "../assets/venues/howlAtTheMoonLight.png"; + +export const venuesBySlug = { + howlAtTheMoon: { + href: "https://howlatthemoon.com?utm_source=squiggleconf", + logos: { + dark: howlAtTheMoonLight, + light: howlAtTheMoonDark, + }, + title: "Howl at the Moon", + }, +}; diff --git a/src/pages/ad/[type]/[slug].astro b/src/pages/ad/[type]/[slug].astro index 0249415..42dceff 100644 --- a/src/pages/ad/[type]/[slug].astro +++ b/src/pages/ad/[type]/[slug].astro @@ -12,6 +12,7 @@ import DeepBlueSea from "~/components/DeepBlueSea.astro"; import Head from "~/components/Head.astro"; import { partnersBySlug } from "~/data/partners"; import { sponsorsBySlug } from "~/data/sponsors"; +import { venuesBySlug } from "~/data/venues"; export function getStaticPaths() { return [ @@ -21,15 +22,24 @@ export function getStaticPaths() { ...Object.keys(sponsorsBySlug).map((slug) => ({ params: { type: "sponsor", slug: slug as keyof typeof sponsorsBySlug }, })), + ...Object.keys(venuesBySlug).map((slug) => ({ + params: { type: "venue", slug: slug as keyof typeof venuesBySlug }, + })), ]; } -const { type, slug } = Astro.params; +const entityMaps = { + sponsor: sponsorsBySlug, + venue: venuesBySlug, + partner: partnersBySlug, +} as const; + +const type = Astro.params.type as keyof typeof entityMaps; +const slug = Astro.params.slug; + +const entityMap = entityMaps[type as "partner"]; -const entity = - type === "sponsor" - ? sponsorsBySlug[slug as keyof typeof sponsorsBySlug] - : partnersBySlug[slug as keyof typeof partnersBySlug]; +const entity = entityMap[slug as keyof typeof entityMap]; ---