Compare commits
4 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| aa389a6616 | |||
| 7e64a6e416 | |||
| 34200dabe8 | |||
| ad2b75b50d |
@@ -27,24 +27,26 @@ const dmSans = DM_Sans({
|
||||
export const metadata: Metadata = {
|
||||
title: "Frituur De Gouden Punt - Beste Belgische Frieten", description: "Genieten van knapperige, vers gebakken Belgische frieten sinds 1998. Snelle service, traditionele smaak, beste ingrediënten. Bestel nu online!", keywords: "frieten, frituur, belgische friet, fast food, Antwerpen, bestellen, bezorging", metadataBase: new URL("https://frituurdeqoudenpunt.be"),
|
||||
alternates: {
|
||||
canonical: "https://frituurdeqoudenpunt.be"},
|
||||
canonical: "https://frituurdeqoudenpunt.be"
|
||||
},
|
||||
openGraph: {
|
||||
title: "Frituur De Gouden Punt - Beste Belgische Frieten", description: "Genieten van authentieke Belgische frieten sinds 1998. Bestel nu!", url: "https://frituurdeqoudenpunt.be", siteName: "Frituur De Gouden Punt", type: "website", images: [
|
||||
{
|
||||
url: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg", alt: "Belgische frieten"},
|
||||
],
|
||||
url: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg", alt: "Belgische frieten"
|
||||
}
|
||||
]
|
||||
},
|
||||
twitter: {
|
||||
card: "summary_large_image", title: "Frituur De Gouden Punt", description: "Knapperige Belgische frieten sinds 1998", images: ["http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg"],
|
||||
card: "summary_large_image", title: "Frituur De Gouden Punt", description: "Knapperige Belgische frieten sinds 1998", images: ["http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg"]
|
||||
},
|
||||
robots: {
|
||||
index: true,
|
||||
follow: true,
|
||||
},
|
||||
follow: true
|
||||
}
|
||||
};
|
||||
|
||||
export default function RootLayout({
|
||||
children,
|
||||
children
|
||||
}: Readonly<{
|
||||
children: React.ReactNode;
|
||||
}>) {
|
||||
|
||||
190
src/app/page.tsx
190
src/app/page.tsx
@@ -10,8 +10,35 @@ import TestimonialCardTwelve from "@/components/sections/testimonial/Testimonial
|
||||
import ContactFaq from "@/components/sections/contact/ContactFaq";
|
||||
import FooterLogoReveal from "@/components/sections/footer/FooterLogoReveal";
|
||||
import { Award, Calendar, Flame, Heart, Leaf, Phone, Star, Store, UtensilsCrossed, Zap } from "lucide-react";
|
||||
import { useEffect } from "react";
|
||||
|
||||
export default function LandingPage() {
|
||||
useEffect(() => {
|
||||
const handleScroll = () => {
|
||||
const scrollY = window.scrollY;
|
||||
const documentHeight = document.documentElement.scrollHeight - window.innerHeight;
|
||||
|
||||
// Get all elements with data-section attribute
|
||||
const sections = document.querySelectorAll("[data-section]");
|
||||
|
||||
sections.forEach((section) => {
|
||||
const rect = section.getBoundingClientRect();
|
||||
const sectionTop = rect.top + scrollY;
|
||||
|
||||
// Trigger animations when section enters viewport
|
||||
if (scrollY > sectionTop - window.innerHeight * 0.75) {
|
||||
section.classList.add("scroll-animated");
|
||||
}
|
||||
});
|
||||
};
|
||||
|
||||
window.addEventListener("scroll", handleScroll, { passive: true });
|
||||
// Trigger on mount
|
||||
handleScroll();
|
||||
|
||||
return () => window.removeEventListener("scroll", handleScroll);
|
||||
}, []);
|
||||
|
||||
return (
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="hover-magnetic"
|
||||
@@ -25,6 +52,103 @@ export default function LandingPage() {
|
||||
secondaryButtonStyle="layered"
|
||||
headingFontWeight="normal"
|
||||
>
|
||||
<style>{`
|
||||
@keyframes fadeInUp {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(30px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideInLeft {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateX(-40px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes slideInRight {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateX(40px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateX(0);
|
||||
}
|
||||
}
|
||||
|
||||
@keyframes scaleIn {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: scale(0.95);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: scale(1);
|
||||
}
|
||||
}
|
||||
|
||||
[data-section] {
|
||||
opacity: 0;
|
||||
animation: fadeInUp 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
|
||||
}
|
||||
|
||||
[data-section].scroll-animated {
|
||||
animation: fadeInUp 0.8s cubic-bezier(0.34, 1.56, 0.64, 1) forwards;
|
||||
}
|
||||
|
||||
#nav {
|
||||
animation: slideInDown 0.6s ease-out forwards;
|
||||
}
|
||||
|
||||
@keyframes slideInDown {
|
||||
from {
|
||||
opacity: 0;
|
||||
transform: translateY(-20px);
|
||||
}
|
||||
to {
|
||||
opacity: 1;
|
||||
transform: translateY(0);
|
||||
}
|
||||
}
|
||||
|
||||
#hero {
|
||||
animation-delay: 0.1s;
|
||||
}
|
||||
|
||||
#products {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
#features {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
#about {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
#testimonials {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
#contact {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
|
||||
#footer {
|
||||
animation-delay: 0.2s;
|
||||
}
|
||||
`}</style>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
brandName="Frituur De Gouden Punt"
|
||||
@@ -52,9 +176,11 @@ export default function LandingPage() {
|
||||
buttonAnimation="slide-up"
|
||||
mediaItems={[
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=1", imageAlt: "Belgische frieten in frietbakje"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=1", imageAlt: "Belgische frieten in frietbakje"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=2", imageAlt: "Gouden knapperige frieten"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=2", imageAlt: "Gouden knapperige frieten"
|
||||
},
|
||||
]}
|
||||
mediaAnimation="slide-up"
|
||||
rating={5}
|
||||
@@ -76,13 +202,17 @@ export default function LandingPage() {
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "1", name: "Klassieke Friet", price: "€3.50", imageSrc: "http://img.b2bpic.net/free-photo/yummy-fast-food-meal-with-bokeh_23-2148374919.jpg?_wi=1", imageAlt: "Klassieke belgische friet met zout"},
|
||||
id: "1", name: "Klassieke Friet", price: "€3.50", imageSrc: "http://img.b2bpic.net/free-photo/yummy-fast-food-meal-with-bokeh_23-2148374919.jpg?_wi=1", imageAlt: "Klassieke belgische friet met zout"
|
||||
},
|
||||
{
|
||||
id: "2", name: "Friet Special De Gouden Punt", price: "€5.50", imageSrc: "http://img.b2bpic.net/free-photo/french-fries-sausages-with-fry-sauce_140725-6140.jpg?_wi=1", imageAlt: "Friet special met huissaus en kruiden"},
|
||||
id: "2", name: "Friet Special De Gouden Punt", price: "€5.50", imageSrc: "http://img.b2bpic.net/free-photo/french-fries-sausages-with-fry-sauce_140725-6140.jpg?_wi=1", imageAlt: "Friet special met huissaus en kruiden"
|
||||
},
|
||||
{
|
||||
id: "3", name: "Bicky Burger Deluxe", price: "€6.20", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-four-delicious-sliders-pile-crispy-fries-slate-plate_181624-33181.jpg?_wi=1", imageAlt: "Heerlijke Bicky burger belgisch"},
|
||||
id: "3", name: "Bicky Burger Deluxe", price: "€6.20", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-four-delicious-sliders-pile-crispy-fries-slate-plate_181624-33181.jpg?_wi=1", imageAlt: "Heerlijke Bicky burger belgisch"
|
||||
},
|
||||
{
|
||||
id: "4", name: "Kip Nuggets Menu", price: "€7.00", imageSrc: "http://img.b2bpic.net/free-photo/four-boxes-nuggets-with-chicken-prawn-cheese-fish-with-four-sauce_141793-2305.jpg", imageAlt: "Crispy kip nuggets met friet"},
|
||||
id: "4", name: "Kip Nuggets Menu", price: "€7.00", imageSrc: "http://img.b2bpic.net/free-photo/four-boxes-nuggets-with-chicken-prawn-cheese-fish-with-four-sauce_141793-2305.jpg", imageAlt: "Crispy kip nuggets met friet"
|
||||
},
|
||||
]}
|
||||
gridVariant="two-columns-alternating-heights"
|
||||
animationType="slide-up"
|
||||
@@ -104,27 +234,33 @@ export default function LandingPage() {
|
||||
title: "Dagelijks Verse Frieten", description: "Elke dag bakken wij vers gesneden frieten op traditionele wijze met de beste aardappelen.", icon: Flame,
|
||||
mediaItems: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=3", imageAlt: "Verse frituur in voorbereiding"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=3", imageAlt: "Verse frituur in voorbereiding"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=4", imageAlt: "Knapperige gouden frieten"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=4", imageAlt: "Knapperige gouden frieten"
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Belgische Traditionele Smaak", description: "Volgens het traditionele recept bakken wij onze frieten in plantaardige olie voor de authentieke smaak.", icon: Heart,
|
||||
mediaItems: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-sausages-with-fry-sauce_140725-6140.jpg?_wi=2", imageAlt: "Frieten met belgische sausen"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-sausages-with-fry-sauce_140725-6140.jpg?_wi=2", imageAlt: "Frieten met belgische sausen"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/yummy-fast-food-meal-with-bokeh_23-2148374919.jpg?_wi=2", imageAlt: "Traditioneel belgische friet"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/yummy-fast-food-meal-with-bokeh_23-2148374919.jpg?_wi=2", imageAlt: "Traditioneel belgische friet"
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
title: "Snelle Service", description: "Uw bestelling wordt snel klaargemaakt zonder compromissen op kwaliteit. Geen wachttijden!", icon: Zap,
|
||||
mediaItems: [
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=5", imageAlt: "Snelle frituur service"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/french-fries-with-ketchup-mayonnaise-table_140725-9521.jpg?_wi=5", imageAlt: "Snelle frituur service"
|
||||
},
|
||||
{
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-four-delicious-sliders-pile-crispy-fries-slate-plate_181624-33181.jpg?_wi=2", imageAlt: "Ready to serve"},
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-four-delicious-sliders-pile-crispy-fries-slate-plate_181624-33181.jpg?_wi=2", imageAlt: "Ready to serve"
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
@@ -164,13 +300,17 @@ export default function LandingPage() {
|
||||
<TestimonialCardTwelve
|
||||
testimonials={[
|
||||
{
|
||||
id: "1", name: "Jan M.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-handsome-male-smiling_181624-41237.jpg", imageAlt: "Jan M."},
|
||||
id: "1", name: "Jan M.", imageSrc: "http://img.b2bpic.net/free-photo/closeup-shot-handsome-male-smiling_181624-41237.jpg", imageAlt: "Jan M."
|
||||
},
|
||||
{
|
||||
id: "2", name: "Lisa K.", imageSrc: "http://img.b2bpic.net/free-photo/woman-showing-ok-sign_23-2148990150.jpg?_wi=1", imageAlt: "Lisa K."},
|
||||
id: "2", name: "Lisa K.", imageSrc: "http://img.b2bpic.net/free-photo/woman-showing-ok-sign_23-2148990150.jpg?_wi=1", imageAlt: "Lisa K."
|
||||
},
|
||||
{
|
||||
id: "3", name: "Tom V.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Tom V."},
|
||||
id: "3", name: "Tom V.", imageSrc: "http://img.b2bpic.net/free-photo/smiling-man-sitting-cafe-table-gesturing_1262-1141.jpg", imageAlt: "Tom V."
|
||||
},
|
||||
{
|
||||
id: "4", name: "Marie D.", imageSrc: "http://img.b2bpic.net/free-photo/woman-showing-ok-sign_23-2148990150.jpg?_wi=2", imageAlt: "Marie D."},
|
||||
id: "4", name: "Marie D.", imageSrc: "http://img.b2bpic.net/free-photo/woman-showing-ok-sign_23-2148990150.jpg?_wi=2", imageAlt: "Marie D."
|
||||
},
|
||||
]}
|
||||
cardTitle="Beste frieten van de buurt! Super snelle service en vriendelijke bediening. Mijn favoriete frituur!"
|
||||
cardTag="Vertrouwd door meer dan 1000 tevreden klanten"
|
||||
@@ -185,19 +325,24 @@ export default function LandingPage() {
|
||||
ctaTitle="Bestel Nu of Kom Langs"
|
||||
ctaDescription="Geniet van verse, knapperige frieten bereid met liefde. Bel ons voor een snelle bestelling!"
|
||||
ctaButton={{
|
||||
text: "Bel: +32 4 123 45 67", href: "tel:+3241234567"}}
|
||||
text: "Bel: +32 4 123 45 67", href: "tel:+3241234567"
|
||||
}}
|
||||
ctaIcon={Phone}
|
||||
useInvertedBackground={false}
|
||||
animationType="slide-up"
|
||||
faqs={[
|
||||
{
|
||||
id: "1", title: "Wat zijn uw openingsuren?", content: "<strong>Maandag tot vrijdag:</strong> 11:00 – 22:00<br/><strong>Zaterdag en zondag:</strong> 12:00 – 23:00<br/><br/>Gesloten op feestdagen. Bel voor speciale gelegenheden!"},
|
||||
id: "1", title: "Wat zijn uw openingsuren?", content: "<strong>Maandag tot vrijdag:</strong> 11:00 – 22:00<br/><strong>Zaterdag en zondag:</strong> 12:00 – 23:00<br/><br/>Gesloten op feestdagen. Bel voor speciale gelegenheden!"
|
||||
},
|
||||
{
|
||||
id: "2", title: "Waar zijn jullie gevestigd?", content: "<strong>Frituur De Gouden Punt</strong><br/>Frietenstraat 45<br/>2000 Antwerpen<br/>België<br/><br/>Gemakkelijk bereikbaar met openbaar vervoer!"},
|
||||
id: "2", title: "Waar zijn jullie gevestigd?", content: "<strong>Frituur De Gouden Punt</strong><br/>Frietenstraat 45<br/>2000 Antwerpen<br/>België<br/><br/>Gemakkelijk bereikbaar met openbaar vervoer!"
|
||||
},
|
||||
{
|
||||
id: "3", title: "Leveren jullie ook thuis?", content: "Ja! We bieden bezorging aan voor bestellingen in de omgeving van Antwerpen. Bel voor meer informatie over bezorgkosten en levertijden."},
|
||||
id: "3", title: "Leveren jullie ook thuis?", content: "Ja! We bieden bezorging aan voor bestellingen in de omgeving van Antwerpen. Bel voor meer informatie over bezorgkosten en levertijden."
|
||||
},
|
||||
{
|
||||
id: "4", title: "Welke sauzen hebben jullie?", content: "Wij hebben een breed assortiment: mayonaise, ketchup, curry, samurai, andalouse, tartare, en nog veel meer! Alle sauzen zijn huisgemaakt volgens ons traditionele recept."},
|
||||
id: "4", title: "Welke sauzen hebben jullie?", content: "Wij hebben een breed assortiment: mayonaise, ketchup, curry, samurai, andalouse, tartare, en nog veel meer! Alle sauzen zijn huisgemaakt volgens ons traditionele recept."
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
@@ -207,7 +352,8 @@ export default function LandingPage() {
|
||||
logoText="Frituur De Gouden Punt"
|
||||
leftLink={{ text: "Privacy", href: "#" }}
|
||||
rightLink={{
|
||||
text: "Copyright © 2025 Frituur De Gouden Punt", href: "#"}}
|
||||
text: "Copyright © 2025 Frituur De Gouden Punt", href: "#"
|
||||
}}
|
||||
/>
|
||||
</div>
|
||||
</ThemeProvider>
|
||||
|
||||
Reference in New Issue
Block a user