diff --git a/apps/web/public/assets/ichtusantwerpen.png b/apps/web/public/assets/ichtusantwerpen.png new file mode 100644 index 0000000..c5f3d24 Binary files /dev/null and b/apps/web/public/assets/ichtusantwerpen.png differ diff --git a/apps/web/src/components/homepage/Footer.tsx b/apps/web/src/components/homepage/Footer.tsx index 46822ac..63de3f0 100644 --- a/apps/web/src/components/homepage/Footer.tsx +++ b/apps/web/src/components/homepage/Footer.tsx @@ -86,6 +86,26 @@ export default function Footer() { {/* Vertical rule */}
+ {/* Ichtus Antwerpen */} + + Ichtus Antwerpen +

+ Ichtus Antwerpen +

+
+ + {/* Vertical rule */} +
+ {/* Vlaanderen */}

- VRIJDAG 18 + VRIJDAG 24
april

@@ -153,7 +153,7 @@ export default function Hero() {

VRIJDAG
- 18 april + 24 april

diff --git a/apps/web/src/components/homepage/Info.tsx b/apps/web/src/components/homepage/Info.tsx index c16d9c0..0ac0f0a 100644 --- a/apps/web/src/components/homepage/Info.tsx +++ b/apps/web/src/components/homepage/Info.tsx @@ -14,6 +14,12 @@ const faqQuestions = [ answer: "Elke deelnemer krijgt 5-7 minuten podiumtijd. Zo houden we de avond dynamisch en krijgt iedereen een kans om te shinen.", }, + { + question: "Waar vindt het plaats?", + answer: + "De Open Mic Night vindt plaats op Lange Winkelstraat 5, 2000 Antwerpen.", + mapUrl: "https://maps.app.goo.gl/kU6iug3QVKwWD1vR7", + }, { question: "Wat moet ik meenemen?", answer: @@ -179,6 +185,16 @@ export default function Info() { {item.question}

{item.answer}

+ {"mapUrl" in item && ( +
+ Bekijk op Google Maps → + + )} ))} diff --git a/apps/web/src/routes/__root.tsx b/apps/web/src/routes/__root.tsx index ce54244..c2f14e9 100644 --- a/apps/web/src/routes/__root.tsx +++ b/apps/web/src/routes/__root.tsx @@ -17,7 +17,7 @@ import appCss from "../index.css?url"; const siteUrl = "https://kunstenkamp.be"; const siteTitle = "Kunstenkamp Open Mic Night - Ongedesemd Woord"; const siteDescription = - "Doe mee met de Open Mic Night op 18 april! Een avond vol muziek, theater, dans, woordkunst en meer. Iedereen is welkom - van beginner tot professional."; + "Doe mee met de Open Mic Night op 24 april! Een avond vol muziek, theater, dans, woordkunst en meer. Iedereen is welkom - van beginner tot professional."; const eventImage = `${siteUrl}/assets/og-image.jpg`; export interface RouterAppContext { diff --git a/apps/web/src/routes/contact.tsx b/apps/web/src/routes/contact.tsx index 8a16834..f729730 100644 --- a/apps/web/src/routes/contact.tsx +++ b/apps/web/src/routes/contact.tsx @@ -38,10 +38,10 @@ function ContactPage() {

Open Mic Night

-

Vrijdag 18 april 2026

+

Vrijdag 24 april 2026

Aanvang: 19:00 uur

- Locatie wordt later bekendgemaakt aan geregistreerde deelnemers. + Lange Winkelstraat 5, 2000 Antwerpen

@@ -72,6 +72,14 @@ function ContactPage() { > Vlaanderen — Cultuur, Jeugd & Media + + Ichtus Antwerpen + diff --git a/packages/api/src/constants.ts b/packages/api/src/constants.ts index 92e0642..7b3fdc2 100644 --- a/packages/api/src/constants.ts +++ b/packages/api/src/constants.ts @@ -2,7 +2,8 @@ // Single source-of-truth for event details used across the API // --------------------------------------------------------------------------- -export const EVENT = "Open Mic Night — vrijdag 18 april 2026"; +export const EVENT = "Open Mic Night — vrijdag 24 april 2026"; +export const LOCATION = "Lange Winkelstraat 5, 2000 Antwerpen"; export const OPENS = "maandag 16 maart 2026 om 19:00"; // Registration opens — used for reminder scheduling windows diff --git a/packages/api/src/email.ts b/packages/api/src/email.ts index a9fac58..91ab6b8 100644 --- a/packages/api/src/email.ts +++ b/packages/api/src/email.ts @@ -1,6 +1,6 @@ import { env } from "@kk/env/server"; import nodemailer from "nodemailer"; -import { EVENT, OPENS } from "./constants"; +import { EVENT, LOCATION, OPENS } from "./constants"; // --------------------------------------------------------------------------- // Transport — singleton so a warm CF isolate reuses the open TCP connection @@ -209,6 +209,7 @@ export async function sendConfirmationEmail(params: { p( `We hebben je inschrijving voor ${EVENT} in goede orde ontvangen.`, ) + + card("Locatie", LOCATION) + card("Jouw rol", roleLabel(params.wantsToPerform, params.artForm)) + paymentCard(drinkCardCents, giftCents) + p( @@ -249,6 +250,7 @@ export async function sendUpdateEmail(params: { p( `Je inschrijving voor ${EVENT} is succesvol bijgewerkt.`, ) + + card("Locatie", LOCATION) + card("Jouw rol", roleLabel(params.wantsToPerform, params.artForm)) + paymentCard(drinkCardCents, giftCents) + btn(manage, "Bekijk mijn inschrijving"), @@ -377,6 +379,7 @@ export async function sendPaymentReminderEmail(params: { p( `Je hebt je ingeschreven voor ${EVENT}, maar we hebben nog geen betaling ontvangen.`, ) + + card("Locatie", LOCATION) + p(`${amountNote} Log in op je account om te betalen.`) + btn(`${env.BETTER_AUTH_URL}/account`, "Betaal nu") + note( @@ -407,6 +410,7 @@ export async function sendPaymentConfirmationEmail(params: { p( `We hebben je betaling voor ${EVENT} in goede orde ontvangen. Tot dan!`, ) + + card("Locatie", LOCATION) + paymentCard(drinkCardCents, giftCents) + btn(manage, "Beheer mijn inschrijving", "secondary"), ),