De volgende workshop is op{' '} - vrijdag 3 april 2026 - {' '}in Utrecht. We starten om 9:00, rond 14:00 ga je naar huis met + {date} + {' '}in {location}. We starten om {timeStart}, rond {timeEnd} ga je naar huis met je eigen werkende project.
@@ -45,7 +45,7 @@ function FinalCTA() { - Maximaal 8 deelnemers per workshop + Maximaal {maxParticipants} deelnemers per workshopVragen? Mail naar{' '} - - frank@frankmeeuwsen.com + + {email} {' '}en ik help je graag!
Datum
-Vrijdag 3 april
+{dateLabel}
Tijd
-9:00 - 14:00
+{time}
Locatie
-Utrecht
+{location}
- excl. BTW + {priceExclBtw}
- Maximaal 8 deelnemers per workshop + Maximaal {maxParticipants} deelnemers per workshop
Dit is bewust klein gehouden zodat iedereen persoonlijke aandacht krijgt. @@ -123,7 +123,7 @@ function Pricing() { to={isSoldOut ? PAYMENT_CONFIG.WAITLIST_URL : PAYMENT_CONFIG.SIGNUP_URL} className="btn-primary w-full text-center block" > - {isSoldOut ? 'Zet me op de wachtlijst' : 'Doe mee op 3 april'} + {isSoldOut ? 'Zet me op de wachtlijst' : `Doe mee op ${dateShort}`} {/* Annuleringsbeleid als vertrouwenssignaal */} diff --git a/src/components/Program.jsx b/src/components/Program.jsx index 1c9a006..0c4aec5 100644 --- a/src/components/Program.jsx +++ b/src/components/Program.jsx @@ -5,6 +5,10 @@ * Lunch moment wordt visueel uitgelicht. */ +import { WORKSHOP_CONFIG } from '../config/workshop'; + +const { timeStart, timeEnd } = WORKSHOP_CONFIG; + function Program() { // Programma onderdelen const schedule = [ @@ -45,13 +49,13 @@ function Program() { isBreak: false }, { - time: "13:45", + time: "14:30", title: "Afronden en vervolgstappen", description: "We kijken naar wat je hebt gebouwd. Je krijgt concrete vervolgstappen die passen bij waar jij nu staat.", isBreak: false }, { - time: "14:00", + time: "15:00", title: "Einde", description: null, isBreak: false @@ -66,7 +70,7 @@ function Program() { Zo ziet je dag eruit
- Van 9:00 tot 14:00 werk je stap voor stap naar je eigen werkende project. + Van {timeStart} tot {timeEnd} werk je stap voor stap naar je eigen werkende project.
{/* Timeline */} diff --git a/src/components/StickyBar.jsx b/src/components/StickyBar.jsx index ce27a8e..7955610 100644 --- a/src/components/StickyBar.jsx +++ b/src/components/StickyBar.jsx @@ -12,7 +12,7 @@ import { PAYMENT_CONFIG } from '../config/payment'; import { WORKSHOP_CONFIG } from '../config/workshop'; function StickyBar() { - const { availableSpots, isSoldOut } = WORKSHOP_CONFIG; + const { availableSpots, isSoldOut, dateStickyBar, location, price, priceExclBtw } = WORKSHOP_CONFIG; // State om te bepalen of de bar zichtbaar moet zijn const [isVisible, setIsVisible] = useState(false); @@ -51,14 +51,14 @@ function StickyBar() {Claude Code Workshop | Vrijdag 3 april 2026 | 9:00 - 14:00 | Utrecht
-EUR 399 excl. BTW (EUR 482,79 incl. BTW)
+Claude Code Workshop | {WORKSHOP_CONFIG.dateFull} | {WORKSHOP_CONFIG.time} | {WORKSHOP_CONFIG.location}
+{WORKSHOP_CONFIG.price} {WORKSHOP_CONFIG.priceExclBtw}
- Je inschrijving voor de Claude Code Workshop is bevestigd. +
+ Je betaling is ontvangen en je inschrijving is bevestigd. +
++ Binnen 24 uur ontvang je een factuur en bevestigingsmail.
{/* Workshop details */} @@ -48,20 +52,20 @@ function ThankYou() {Vragen? Mail naar{' '} - - frank@frankmeeuwsen.com + + {WORKSHOP_CONFIG.email}
diff --git a/src/pages/WaitlistSignup.jsx b/src/pages/WaitlistSignup.jsx index 9260ab4..ee2a028 100644 --- a/src/pages/WaitlistSignup.jsx +++ b/src/pages/WaitlistSignup.jsx @@ -6,32 +6,11 @@ * Tally ID: kdyPJZ (https://tally.so/r/kdyPJZ) */ -import { useEffect } from 'react'; import { Link } from 'react-router-dom'; import { PAYMENT_CONFIG } from '../config/payment'; +import TallyForm from '../components/TallyForm'; function WaitlistSignup() { - // Laad het Tally embed script zodra de pagina mount - useEffect(() => { - const scriptUrl = 'https://tally.so/widgets/embed.js'; - - if (typeof window.Tally !== 'undefined') { - window.Tally.loadEmbeds(); - return; - } - - if (!document.querySelector(`script[src="${scriptUrl}"]`)) { - const script = document.createElement('script'); - script.src = scriptUrl; - script.onload = () => { - if (typeof window.Tally !== 'undefined') { - window.Tally.loadEmbeds(); - } - }; - document.body.appendChild(script); - } - }, []); - return (