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:
BIN
apps/web/public/assets/ichtusantwerpen.png
Normal file
BIN
apps/web/public/assets/ichtusantwerpen.png
Normal file
Binary file not shown.
|
After Width: | Height: | Size: 69 KiB |
@@ -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"
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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>
|
||||
|
||||
@@ -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 {
|
||||
|
||||
@@ -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>
|
||||
|
||||
|
||||
@@ -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
|
||||
|
||||
@@ -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"),
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user