6 Commits

Author SHA1 Message Date
a1c7f396f0 Update src/app/layout.tsx 2026-03-10 08:39:09 +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
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 214 additions and 40 deletions

View File

@@ -1,47 +1,35 @@
import type { Metadata } from "next";
import { Halant } from "next/font/google";
import { Inter } from "next/font/google";
import { Figtree } from "next/font/google";
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";
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. Werk aan je conditie, techniek en zelfvertrouwen."
};
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 />
<html lang="nl" suppressHydrationWarning>
<body className={inter}>
<ServiceWrapper>
{children}
</ServiceWrapper>
<script
dangerouslySetInnerHTML={{
__html: `
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')
}
`,
}}
/>
<script
dangerouslySetInnerHTML={{
__html: `
@@ -1409,7 +1397,10 @@ export default function RootLayout({
}}
/>
</body>
</ServiceWrapper>
</html>
);
}
function ServiceWrapper({ children }: { children: React.ReactNode }) {
return <>{children}</>;
}

View File

@@ -30,6 +30,7 @@ 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" },
@@ -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" },
@@ -90,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={[
@@ -147,13 +186,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"
@@ -209,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" },

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

@@ -0,0 +1,139 @@
"use client";
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
import NavbarStyleCentered from "@/components/navbar/NavbarStyleCentered/NavbarStyleCentered";
import HeroBillboardGallery from "@/components/sections/hero/HeroBillboardGallery";
import SplitAbout from "@/components/sections/about/SplitAbout";
import FooterMedia from "@/components/sections/footer/FooterMedia";
import { Award, Clock } 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: "/" },
{ name: "Trainingssprogramma", id: "schedule" },
{ name: "Trainingsprogramma", id: "/" },
{ name: "Waarden", id: "/" },
{ name: "Getuigenissen", id: "/" },
{ name: "Contact", id: "/" },
]}
button={{ text: "Proefles", href: "/" }}
/>
</div>
<div id="hero" data-section="hero">
<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" }}
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"
},
]}
buttons={[
{ text: "Proefles Boeken", href: "/" },
{ text: "Terug naar Home", href: "/" },
]}
mediaAnimation="slide-up"
buttonAnimation="slide-up"
tagAnimation="slide-up"
/>
</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"
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: "Trainingsschema", href: "/schedule" },
{ label: "Trainers", href: "/" },
{ label: "Waarden", href: "/" },
{ label: "Getuigenissen", href: "/" },
],
},
{
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>
);
}