13 Commits

Author SHA1 Message Date
f878497bf7 Merge version_3 into main
Merge version_3 into main
2026-03-10 08:39:13 +00:00
a1c7f396f0 Update src/app/layout.tsx 2026-03-10 08:39:09 +00:00
7a28cad734 Merge version_3 into main
Merge version_3 into main
2026-03-10 08:38:15 +00:00
42c85229d7 Update src/app/schedule/page.tsx 2026-03-10 08:38:11 +00:00
e709f0afd8 Update src/app/page.tsx 2026-03-10 08:38:10 +00:00
d3ddb5075d Update src/app/layout.tsx 2026-03-10 08:38:09 +00:00
805fffbe4c Switch to version 1: remove src/app/schedule/page.tsx 2026-03-10 08:37:06 +00:00
929fa8461d Switch to version 1: modified src/app/page.tsx 2026-03-10 08:37:06 +00:00
86de68b24a Switch to version 1: modified src/app/layout.tsx 2026-03-10 08:37:05 +00:00
0021a79024 Merge version_2 into main
Merge version_2 into main
2026-03-10 08:36:22 +00:00
dfa9ad1d87 Merge version_2 into main
Merge version_2 into main
2026-03-10 08:35:32 +00:00
5945a8cae1 Add src/app/schedule/page.tsx 2026-03-10 08:35:30 +00:00
4098b5d1a5 Update src/app/page.tsx 2026-03-10 08:35:30 +00:00
3 changed files with 117 additions and 135 deletions

View File

@@ -1,13 +1,11 @@
import type { Metadata } from "next";
import { Inter } from "next/font/google";
import "./styles/variables.css";
import "./styles/base.css";
import "./globals.css";
const inter = Inter({ subsets: ["latin"] });
const inter = "Inter";
export const metadata: Metadata = {
title: "Boxing A80 - Authentieke Boksacademie van Amersfoort", description: "Al meer dan 44 jaar dé boksvereniging in Eemland. Training voor mannen, vrouwen en jeugd onder begeleiding van gediplomeerde trainers."};
title: "Boxing A80 - Authentieke Boksacademie van Amersfoort", description: "Al meer dan 44 jaar dé boksvereniging in Eemland. Werk aan je conditie, techniek en zelfvertrouwen."
};
export default function RootLayout({
children,
@@ -16,23 +14,21 @@ export default function RootLayout({
}) {
return (
<html lang="nl" suppressHydrationWarning>
<head>
<body className={inter}>
<ServiceWrapper>
{children}
</ServiceWrapper>
<script
dangerouslySetInnerHTML={{
__html: `
try {
if (localStorage.getItem('theme') === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document.documentElement.classList.add('dark')
} else {
document.documentElement.classList.remove('dark')
}
} catch (e) {}
if (localStorage.theme === 'dark' || (!('theme' in localStorage) && window.matchMedia('(prefers-color-scheme: dark)').matches)) {
document.documentElement.classList.add('dark')
} else {
document.documentElement.classList.remove('dark')
}
`,
}}
/>
</head>
<body className={inter.className} suppressHydrationWarning>
<ServiceWrapper>{children}</ServiceWrapper>
<script
dangerouslySetInnerHTML={{
@@ -1406,14 +1402,5 @@ export default function RootLayout({
}
function ServiceWrapper({ children }: { children: React.ReactNode }) {
return (
<>
<Tag />
{children}
</>
);
}
function Tag() {
return null;
return <>{children}</>;
}

View File

@@ -30,10 +30,10 @@ export default function LandingPage() {
brandName="Boxing A80"
navItems={[
{ name: "Over Ons", id: "about" },
{ name: "Trainingssprogramma", id: "schedule" },
{ name: "Trainingsprogramma", id: "features" },
{ name: "Waarden", id: "values" },
{ name: "Getuigenissen", id: "testimonials" },
{ name: "Schema", id: "schedule" },
{ name: "Contact", id: "contact" },
]}
button={{ text: "Proefles", href: "contact" }}
@@ -94,6 +94,41 @@ export default function LandingPage() {
/>
</div>
<div id="schedule" data-section="schedule">
<SplitAbout
title="Trainingsschema Boxing A80"
description="Maandag tot en met zaterdag zijn er verschillende trainingen voor alle niveaus. Of je nu beginner bent of wedstrijdboxer, we hebben een training voor jou. Kom langs en maak kennis met ons team!"
tag="Trainingsschema"
tagIcon={Clock}
bulletPoints={[
{
title: "Maandag", description: "18:00-19:30 Beginners • 19:30-21:00 Gevorderden", icon: Clock,
},
{
title: "Dinsdag", description: "18:00-19:30 Jeugd (8-16 jaar) • 19:30-21:00 Wedstrijdboxers", icon: Clock,
},
{
title: "Woensdag", description: "18:00-19:30 Cardio Boksen • 19:30-21:00 Gevorderden", icon: Clock,
},
{
title: "Donderdag", description: "18:00-19:30 Beginners • 19:30-21:00 Wedstrijdboxers", icon: Clock,
},
{
title: "Vrijdag", description: "18:00-19:30 Jeugd (8-16 jaar) • 19:30-21:00 Gevorderden", icon: Clock,
},
{
title: "Zaterdag", description: "09:00-10:30 Familie Boksen • 10:30-12:00 Gevorderden", icon: Clock,
},
]}
imageSrc="http://img.b2bpic.net/free-photo/happy-young-brunette-relaxing-getting-ready-working-out-gym_662251-1301.jpg"
imageAlt="boxing training schedule calendar"
mediaAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
imagePosition="right"
/>
</div>
<div id="features" data-section="features">
<FeatureCardTwelve
features={[
@@ -209,7 +244,7 @@ export default function LandingPage() {
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/pair-gloves-boxing-sport_23-2150367634.jpg?_wi=1"
imageSrc="http://img.b2bpic.net/free-photo/pair-gloves-boxing-sport_23-2150367634.jpg"
imageAlt="boxing ring close-up ropes detail"
logoText="Boxing A80"
copyrightText="© 2025 Boxing A80 - Authentieke Boksacademie van Amersfoort"
@@ -217,6 +252,7 @@ export default function LandingPage() {
{
title: "Club", items: [
{ label: "Over Ons", href: "#about" },
{ label: "Trainingsschema", href: "#schedule" },
{ label: "Trainers", href: "#features" },
{ label: "Waarden", href: "#values" },
{ label: "Getuigenissen", href: "#testimonials" },

View File

@@ -2,9 +2,10 @@
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroCentered from "@/components/sections/hero/HeroCentered";
import HeroBillboardGallery from "@/components/sections/hero/HeroBillboardGallery";
import SplitAbout from "@/components/sections/about/SplitAbout";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Award, Clock, Users } from "lucide-react";
import { Award, Clock } from "lucide-react";
export default function SchedulePage() {
return (
@@ -24,126 +25,83 @@ export default function SchedulePage() {
<NavbarStyleCentered
brandName="Boxing A80"
navItems={[
{ name: "Over Ons", id: "/about" },
{ name: "Trainingsprogramma", id: "/features" },
{ name: "Waarden", id: "/values" },
{ name: "Getuigenissen", id: "/testimonials" },
{ name: "Schema", id: "/schedule" },
{ name: "Contact", id: "/contact" },
{ name: "Over Ons", id: "/" },
{ name: "Trainingssprogramma", id: "schedule" },
{ name: "Trainingsprogramma", id: "/" },
{ name: "Waarden", id: "/" },
{ name: "Getuigenissen", id: "/" },
{ name: "Contact", id: "/" },
]}
button={{ text: "Proefles", href: "/contact" }}
button={{ text: "Proefles", href: "/" }}
/>
</div>
<div id="hero" data-section="hero">
<HeroCentered
<HeroBillboardGallery
title="Trainingsschema Boxing A80"
description="Maandag tot en met zaterdag hebben we trainingen voor alle niveaus. Of je nu beginner bent, gevorderde of wedstrijdboxer - we hebben de perfecte training voor jou. Kom langs en maak kennis met ons team!"
tag="Trainingsschema"
tagIcon={Clock}
background={{ variant: "radial-gradient" }}
avatars={[
{ src: "http://img.b2bpic.net/free-photo/man-screaming-with-boxer-globes_1154-115.jpg", alt: "Boxing trainer" },
{ src: "http://img.b2bpic.net/free-photo/medium-shot-girl-learning-boxing_23-2150399990.jpg", alt: "Female boxer" },
{ src: "http://img.b2bpic.net/free-photo/portrait-experienced-female-boxer-boxing-gloves-activewear_613910-12650.jpg", alt: "Boxer training" },
mediaItems={[
{
imageSrc: "http://img.b2bpic.net/free-photo/sideways-strong-male-boxer-training-competition_23-2148416691.jpg", imageAlt: "professional boxing gym training facility"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/boxer-boy-posing-gym_23-2148201190.jpg", imageAlt: "athlete boxer training dynamic action"
},
{
imageSrc: "http://img.b2bpic.net/free-photo/female-boxer-practicing-with-trainer_23-2148615097.jpg", imageAlt: "boxing club group training together"
},
]}
avatarText="Voor alle niveaus"
title="Trainingschema Boxing A80"
description="Alle trainingstijden en programma's voor mannen, vrouwen en jeugd. Kom naar de training die het beste bij jou past."
buttons={[
{ text: "Proefles Boeken", href: "contact" },
{ text: "Proefles Boeken", href: "/" },
{ text: "Terug naar Home", href: "/" },
]}
mediaAnimation="slide-up"
buttonAnimation="slide-up"
tagAnimation="slide-up"
/>
</div>
<div id="schedule-content" data-section="schedule-content" className="py-20 px-6 md:px-0">
<div className="w-full max-w-3xl mx-auto">
<div className="mb-12">
<h2 className="text-3xl md:text-4xl font-bold mb-6">Reguliere Trainingen</h2>
<div className="space-y-6">
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<div className="flex items-center gap-2 mb-2">
<Clock className="w-5 h-5" />
<h3 className="text-xl font-semibold">Volwassenen - Beginners</h3>
</div>
<p className="text-foreground/80 mb-2">Maandag & Woensdag</p>
<p className="text-lg font-medium">19:00 - 20:30</p>
<p className="text-sm text-foreground/60 mt-2">Perfecte introductie tot boksen met aandacht voor techniek en veiligheid</p>
</div>
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<div className="flex items-center gap-2 mb-2">
<Users className="w-5 h-5" />
<h3 className="text-xl font-semibold">Volwassenen - Gevorderden</h3>
</div>
<p className="text-foreground/80 mb-2">Dinsdag & Donderdag</p>
<p className="text-lg font-medium">19:30 - 21:00</p>
<p className="text-sm text-foreground/60 mt-2">Intensieve training voor deelnemers met voorgaande bokskaart</p>
</div>
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<div className="flex items-center gap-2 mb-2">
<Award className="w-5 h-5" />
<h3 className="text-xl font-semibold">Jeugd (12-18 jaar)</h3>
</div>
<p className="text-foreground/80 mb-2">Woensdag & Zaterdag</p>
<p className="text-lg font-medium">17:00 - 18:30</p>
<p className="text-sm text-foreground/60 mt-2">Speciaal ontworpen training voor jongeren met focus op vaardigheden en zelfvertrouwen</p>
</div>
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<div className="flex items-center gap-2 mb-2">
<Clock className="w-5 h-5" />
<h3 className="text-xl font-semibold">Vrouwen - Groep</h3>
</div>
<p className="text-foreground/80 mb-2">Maandag & Vrijdag</p>
<p className="text-lg font-medium">18:00 - 19:30</p>
<p className="text-sm text-foreground/60 mt-2">Exclusieve vrouwengroep waar je op je gemak kunt trainen</p>
</div>
</div>
</div>
<div className="mb-12">
<h2 className="text-3xl md:text-4xl font-bold mb-6">Speciale Programma's</h2>
<div className="space-y-6">
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<h3 className="text-xl font-semibold mb-2">Privétrainingen</h3>
<p className="text-foreground/80 mb-2">Op afspraak</p>
<p className="text-sm text-foreground/60">Persoonlijke coaching voor specifieke doelen en voorbereiding op wedstrijden</p>
</div>
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<h3 className="text-xl font-semibold mb-2">Wedstrijdtraining</h3>
<p className="text-foreground/80 mb-2">Dinsdag & Vrijdag</p>
<p className="text-lg font-medium">20:00 - 21:30</p>
<p className="text-sm text-foreground/60 mt-2">Intensieve voorbereiding voor competitieve boxers</p>
</div>
<div className="border border-foreground/20 rounded-lg p-6 bg-card">
<h3 className="text-xl font-semibold mb-2">Zaterdag Groepsclass</h3>
<p className="text-foreground/80 mb-2">Zaterdag</p>
<p className="text-lg font-medium">10:00 - 11:30</p>
<p className="text-sm text-foreground/60 mt-2">Ontspannen groepstraining voor recreatieve deelnemers</p>
</div>
</div>
</div>
<div className="bg-background-accent/10 border border-background-accent rounded-lg p-8 text-center">
<h3 className="text-2xl font-bold mb-4">Klaar om te starten?</h3>
<p className="text-foreground/80 mb-6">Neem contact op of boek je gratis proefles vandaag nog</p>
<div className="flex gap-4 justify-center flex-wrap">
<a href="mailto:secretaris@boxing-a80.nl" className="px-6 py-3 bg-primary-cta text-primary-cta-text rounded-full font-semibold hover:opacity-90 transition">
E-mail verzenden
</a>
<a href="tel:0639493895" className="px-6 py-3 bg-secondary-cta text-secondary-cta-text border border-foreground/20 rounded-full font-semibold hover:opacity-90 transition">
Bel ons
</a>
</div>
</div>
</div>
<div id="schedule" data-section="schedule">
<SplitAbout
title="Volledig Trainingsschema Boxing A80"
description="Bij Boxing A80 trainingen we het hele jaar door, van maandag tot en met zaterdag. Elk trainingsmoment is ontworpen om je fysiek en mentaal sterker te maken, onder begeleiding van onze gediplomeerde trainers. Of je nu voor het eerst een bokshandschoen aandoet of je voorbereidt op wedstrijden - we hebben een plek voor jou."
tag="Maandag t/m Zaterdag"
tagIcon={Clock}
bulletPoints={[
{
title: "Maandag", description: "18:00-19:30 Beginners - Perfect voor nieuwe leden. Leer de basis van boksen in een vriendelijke omgeving. 19:30-21:00 Gevorderden - Voor leden met meer ervaring die hun techniek willen verbeteren.", icon: Clock,
},
{
title: "Dinsdag", description: "18:00-19:30 Jeugd (8-16 jaar) - Speciaal ontworpen training voor jonge atleten met aandacht voor techniek en veiligheid. 19:30-21:00 Wedstrijdboxers - Intensieve training voor sporters die willen wedstrijden.", icon: Clock,
},
{
title: "Woensdag", description: "18:00-19:30 Cardio Boksen - Focus op fitness, veerkracht en vetverbranding met boksbeweging. 19:30-21:00 Gevorderden - Geavanceerde technische training voor ervaren boxers.", icon: Clock,
},
{
title: "Donderdag", description: "18:00-19:30 Beginners - Nog een gelegenheid voor beginners om deel te nemen aan fundamentele bokstraining. 19:30-21:00 Wedstrijdboxers - Voorbereiding en training voor competitieve boxers.", icon: Clock,
},
{
title: "Vrijdag", description: "18:00-19:30 Jeugd (8-16 jaar) - Tweede jeugdsessie van de week met focus op plezier en veiligheid. 19:30-21:00 Gevorderden - Afrondingsdag van de week voor gevorderde trainers.", icon: Clock,
},
{
title: "Zaterdag", description: "09:00-10:30 Familie Boksen - Een unieke training waar families samen kunnen trainen en het boksen ontdekken. 10:30-12:00 Gevorderden - Weekend-sessie voor intensieve training en voorbereiding.", icon: Clock,
},
]}
imageSrc="http://img.b2bpic.net/free-photo/happy-young-brunette-relaxing-getting-ready-working-out-gym_662251-1301.jpg"
imageAlt="boxing training schedule and classes"
mediaAnimation="slide-up"
textboxLayout="default"
useInvertedBackground={false}
imagePosition="right"
/>
</div>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/pair-gloves-boxing-sport_23-2150367634.jpg?_wi=2"
imageSrc="http://img.b2bpic.net/free-photo/pair-gloves-boxing-sport_23-2150367634.jpg"
imageAlt="boxing ring close-up ropes detail"
logoText="Boxing A80"
copyrightText="© 2025 Boxing A80 - Authentieke Boksacademie van Amersfoort"
@@ -151,9 +109,10 @@ export default function SchedulePage() {
{
title: "Club", items: [
{ label: "Over Ons", href: "/" },
{ label: "Trainingsprogramma", href: "/#features" },
{ label: "Waarden", href: "/#values" },
{ label: "Getuigenissen", href: "/#testimonials" },
{ label: "Trainingsschema", href: "/schedule" },
{ label: "Trainers", href: "/" },
{ label: "Waarden", href: "/" },
{ label: "Getuigenissen", href: "/" },
],
},
{