Update event date to 24 april, add venue, add Ichtus Antwerpen as co-sponsor

- Change event date from 18 to 24 april across all pages, hero, meta and constants
- Add venue (Lange Winkelstraat 5, 2000 Antwerpen) to contact page, Q&A, and transactional emails
- Add LOCATION constant to packages/api/src/constants.ts
- Add Ichtus Antwerpen (ichtusantwerpen.com) as co-sponsor in footer and contact page
- Add location info card to confirmation, update, payment reminder and payment confirmation emails
This commit is contained in:
2026-03-11 18:17:40 +01:00
parent e5d2b13b21
commit 3a2e403ee9
8 changed files with 56 additions and 7 deletions

Binary file not shown.

After

Width:  |  Height:  |  Size: 69 KiB

View File

@@ -86,6 +86,26 @@ export default function Footer() {
{/* Vertical rule */}
<div className="hidden h-28 w-px bg-white/20 md:block" />
{/* Ichtus Antwerpen */}
<a
href="https://ichtusantwerpen.com"
target="_blank"
rel="noopener noreferrer"
className="flex flex-col items-center gap-3 opacity-90 transition-opacity hover:opacity-100"
>
<img
src="/assets/ichtusantwerpen.png"
alt="Ichtus Antwerpen"
className="h-14 w-auto"
/>
<p className="text-center font-['DM_Sans',sans-serif] font-medium text-white/60 text-xs uppercase tracking-[0.15em]">
Ichtus Antwerpen
</p>
</a>
{/* Vertical rule */}
<div className="hidden h-28 w-px bg-white/20 md:block" />
{/* Vlaanderen */}
<a
href="https://www.vlaanderen.be/cjm/nl"

View File

@@ -83,7 +83,7 @@ export default function Hero() {
{/* Bottom Right - Dark Teal with date - above mic */}
<div className="relative flex flex-1 items-center justify-end bg-[#214e51]">
<p className="px-12 text-right font-['Intro',sans-serif] font-normal text-[clamp(2rem,5vw,6rem)] text-white uppercase leading-[1.1]">
VRIJDAG 18
VRIJDAG 24
<br />
april
</p>
@@ -153,7 +153,7 @@ export default function Hero() {
<p className="text-right font-['Intro',sans-serif] font-normal text-[8vw] text-white uppercase leading-tight">
VRIJDAG
<br />
18 april
24 april
</p>
</div>
</div>

View File

@@ -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}
</h3>
<p className="max-w-xl text-white/80 text-xl">{item.answer}</p>
{"mapUrl" in item && (
<a
href={item.mapUrl}
target="_blank"
rel="noopener noreferrer"
className="text-sm text-white/60 underline hover:text-white/90"
>
Bekijk op Google Maps
</a>
)}
</div>
))}
</div>

View File

@@ -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 {

View File

@@ -38,10 +38,10 @@ function ContactPage() {
<section className="rounded-lg bg-white/5 p-6">
<h3 className="mb-3 text-white text-xl">Open Mic Night</h3>
<p>Vrijdag 18 april 2026</p>
<p>Vrijdag 24 april 2026</p>
<p>Aanvang: 19:00 uur</p>
<p className="mt-2 text-white/60">
Locatie wordt later bekendgemaakt aan geregistreerde deelnemers.
Lange Winkelstraat 5, 2000 Antwerpen
</p>
</section>
@@ -72,6 +72,14 @@ function ContactPage() {
>
Vlaanderen Cultuur, Jeugd & Media
</a>
<a
href="https://ichtusantwerpen.com"
target="_blank"
rel="noopener noreferrer"
className="link-hover text-white/80 hover:text-white"
>
Ichtus Antwerpen
</a>
</div>
</section>

View File

@@ -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

View File

@@ -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 <strong style="color:#fff;">${EVENT}</strong> 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 <strong style="color:#fff;">${EVENT}</strong> 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 <strong style="color:#fff;">${EVENT}</strong>, 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 <strong style="color:#fff;">${EVENT}</strong> in goede orde ontvangen. Tot dan!`,
) +
card("Locatie", LOCATION) +
paymentCard(drinkCardCents, giftCents) +
btn(manage, "Beheer mijn inschrijving", "secondary"),
),