6 Commits

Author SHA1 Message Date
7eb4f86a2d Update src/app/schedule/page.tsx 2026-03-10 08:36:19 +00:00
a600125571 Update src/app/page.tsx 2026-03-10 08:36:18 +00:00
c561adefaf Add src/app/schedule/page.tsx 2026-03-10 08:35:26 +00:00
f683d28beb Update src/app/page.tsx 2026-03-10 08:35:26 +00:00
3e9d26cebb Update src/app/layout.tsx 2026-03-10 08:35:25 +00:00
d908ed456e Merge version_1 into main
Merge version_1 into main
2026-03-10 08:24:45 +00:00
3 changed files with 234 additions and 42 deletions

View File

@@ -1,47 +1,39 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Figtree } from "next/font/google";
import "./styles/variables.css";
import "./styles/base.css";
import "./globals.css";
import { ServiceWrapper } from "@/components/ServiceWrapper";
import Tag from "@/tag/Tag";
const halant = Halant({
variable: "--font-halant", subsets: ["latin"],
weight: ["300", "400", "500", "600", "700"],
});
const inter = Inter({
variable: "--font-inter", subsets: ["latin"],
});
const figtree = Figtree({
variable: "--font-figtree", subsets: ["latin"],
});
const inter = Inter({ subsets: ["latin"] });
export const metadata: Metadata = {
title: "Boxing A80 - Boksacademie Amersfoort | 44 jaar Expertise", description: "Boksen in Amersfoort bij Boxing A80. Gediplomeerde trainers, authentieke training voor mannen, vrouwen en jeugd. Gratis proefles beschikbaar!", keywords: "boksen, boksclub, amersfoort, boksacademie, bokstraining, fitness, zelfverdediging, nederlandse boksbond", openGraph: {
title: "Boxing A80 - Boksacademie Amersfoort", description: "Al meer dan 44 jaar de enige authentieke boksclub van Amersfoort. Werk aan je conditie, techniek en zelfvertrouwen.", siteName: "Boxing A80", type: "website"},
robots: {
index: true,
follow: true,
},
};
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."};
export default function RootLayout({
children,
}: Readonly<{
}: {
children: React.ReactNode;
}>) {
}) {
return (
<html lang="en" suppressHydrationWarning>
<ServiceWrapper>
<body
className={`${halant.variable} ${inter.variable} ${figtree.variable} antialiased`}
>
<Tag />
{children}
<html lang="nl" suppressHydrationWarning>
<head>
<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) {}
`,
}}
/>
</head>
<body className={inter.className} suppressHydrationWarning>
<ServiceWrapper>{children}</ServiceWrapper>
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1409,7 +1401,19 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}
function ServiceWrapper({ children }: { children: React.ReactNode }) {
return (
<>
<Tag />
{children}
</>
);
}
function Tag() {
return null;
}

View File

@@ -33,6 +33,7 @@ export default function LandingPage() {
{ 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" }}
@@ -48,11 +49,14 @@ export default function LandingPage() {
background={{ variant: "radial-gradient" }}
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/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/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"},
imageSrc: "http://img.b2bpic.net/free-photo/female-boxer-practicing-with-trainer_23-2148615097.jpg", imageAlt: "boxing club group training together"
},
]}
buttons={[
{ text: "Proefles Boeken", href: "contact" },
@@ -147,13 +151,17 @@ export default function LandingPage() {
<TestimonialCardTen
testimonials={[
{
id: "1", title: "Transformatie door boksen", quote: "Boxing A80 heeft mij niet alleen fysiek sterker gemaakt, maar ook mentaal. De trainers here zijn echt experts en de gemeenschap is ongelooflijk ondersteunend.", name: "Jan de Boer", role: "Reguliere Lid", imageSrc: "http://img.b2bpic.net/free-photo/man-screaming-with-boxer-globes_1154-115.jpg", imageAlt: "happy boxer athlete portrait headshot"},
id: "1", title: "Transformatie door boksen", quote: "Boxing A80 heeft mij niet alleen fysiek sterker gemaakt, maar ook mentaal. De trainers here zijn echt experts en de gemeenschap is ongelooflijk ondersteunend.", name: "Jan de Boer", role: "Reguliere Lid", imageSrc: "http://img.b2bpic.net/free-photo/man-screaming-with-boxer-globes_1154-115.jpg", imageAlt: "happy boxer athlete portrait headshot"
},
{
id: "2", title: "Perfect voor beginners", quote: "Ik was totaal nieuw in boksen, maar de trainers maakten mij direct welkom. Ze passen alles aan voor je niveau en je groeit snel.", name: "Maria Garcia", role: "3 Maanden Lid", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-girl-learning-boxing_23-2150399990.jpg", imageAlt: "woman boxer athlete training portrait"},
id: "2", title: "Perfect voor beginners", quote: "Ik was totaal nieuw in boksen, maar de trainers maakten mij direct welkom. Ze passen alles aan voor je niveau en je groeit snel.", name: "Maria Garcia", role: "3 Maanden Lid", imageSrc: "http://img.b2bpic.net/free-photo/medium-shot-girl-learning-boxing_23-2150399990.jpg", imageAlt: "woman boxer athlete training portrait"
},
{
id: "3", title: "Ware bokskunst", quote: "Dit is authentieke bokstraining. Geen trends, geen fratsen - gewoon harde work, echte kennis en passie voor de sport.", name: "Pieter Jansen", role: "Wedstrijdboxer", imageSrc: "http://img.b2bpic.net/free-photo/portrait-experienced-female-boxer-boxing-gloves-activewear_613910-12650.jpg", imageAlt: "young athlete boxer portrait confident"},
id: "3", title: "Ware bokskunst", quote: "Dit is authentieke bokstraining. Geen trends, geen fratsen - gewoon harde work, echte kennis en passie voor de sport.", name: "Pieter Jansen", role: "Wedstrijdboxer", imageSrc: "http://img.b2bpic.net/free-photo/portrait-experienced-female-boxer-boxing-gloves-activewear_613910-12650.jpg", imageAlt: "young athlete boxer portrait confident"
},
{
id: "4", title: "Meer dan een club", quote: "Boxing A80 is een familie. Je traint niet alleen met trainers maar met mensen die dezelfde passie delen. Ongelooflijk.", name: "Sarah Müller", role: "6 Maanden Lid", imageSrc: "http://img.b2bpic.net/free-photo/man-wearing-boxing-gloves_23-2149036371.jpg", imageAlt: "boxing trainer experienced professional portrait"},
id: "4", title: "Meer dan een club", quote: "Boxing A80 is een familie. Je traint niet alleen met trainers maar met mensen die dezelfde passie delen. Ongelooflijk.", name: "Sarah Müller", role: "6 Maanden Lid", imageSrc: "http://img.b2bpic.net/free-photo/man-wearing-boxing-gloves_23-2149036371.jpg", imageAlt: "boxing trainer experienced professional portrait"
},
]}
title="Wat onze leden zeggen"
description="Luister naar verhalen van leden die hun leven hebben getransformeerd door boksen bij Boxing A80"
@@ -201,7 +209,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"
imageSrc="http://img.b2bpic.net/free-photo/pair-gloves-boxing-sport_23-2150367634.jpg?_wi=1"
imageAlt="boxing ring close-up ropes detail"
logoText="Boxing A80"
copyrightText="© 2025 Boxing A80 - Authentieke Boksacademie van Amersfoort"

180
src/app/schedule/page.tsx Normal file
View File

@@ -0,0 +1,180 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroCentered from "@/components/sections/hero/HeroCentered";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Award, Clock, Users } from "lucide-react";
export default function SchedulePage() {
return (
<ThemeProvider
defaultButtonVariant="hover-bubble"
defaultTextAnimation="background-highlight"
borderRadius="pill"
contentWidth="small"
sizing="mediumLargeSizeMediumTitles"
background="circleGradient"
cardStyle="gradient-mesh"
primaryButtonStyle="flat"
secondaryButtonStyle="radial-glow"
headingFontWeight="extrabold"
>
<div id="nav" data-section="nav">
<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" },
]}
button={{ text: "Proefles", href: "/contact" }}
/>
</div>
<div id="hero" data-section="hero">
<HeroCentered
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" },
]}
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: "Terug naar Home", href: "/" },
]}
buttonAnimation="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>
<div id="footer" data-section="footer">
<FooterMedia
imageSrc="http://img.b2bpic.net/free-photo/pair-gloves-boxing-sport_23-2150367634.jpg?_wi=2"
imageAlt="boxing ring close-up ropes detail"
logoText="Boxing A80"
copyrightText="© 2025 Boxing A80 - Authentieke Boksacademie van Amersfoort"
columns={[
{
title: "Club", items: [
{ label: "Over Ons", href: "/" },
{ label: "Trainingsprogramma", href: "/#features" },
{ label: "Waarden", href: "/#values" },
{ label: "Getuigenissen", href: "/#testimonials" },
],
},
{
title: "Contact", items: [
{ label: "Nijverheidsweg-Noord 40", href: "#" },
{ label: "3812 PM Amersfoort", href: "#" },
{ label: "secretaris@boxing-a80.nl", href: "mailto:secretaris@boxing-a80.nl" },
{ label: "06-39493895", href: "tel:0639493895" },
],
},
{
title: "Volgen", items: [
{ label: "Facebook", href: "https://facebook.com" },
{ label: "Instagram", href: "https://instagram.com" },
{ label: "Privacybeleid", href: "#" },
{ label: "Algemene Voorwaarden", href: "#" },
],
},
]}
/>
</div>
</ThemeProvider>
);
}