Compare commits
9 Commits
| Author | SHA1 | Date | |
|---|---|---|---|
| d62476ec0f | |||
| 65c850bf9d | |||
| 5822646dad | |||
| 858835e495 | |||
| ea11674e9b | |||
| 7e801178a9 | |||
| d8696d5648 | |||
| c9d98a25ef | |||
| 9eba086456 |
81
src/app/components/AgeVerificationModal.tsx
Normal file
81
src/app/components/AgeVerificationModal.tsx
Normal file
@@ -0,0 +1,81 @@
|
||||
"use client";
|
||||
|
||||
import React, { useState, useEffect } from "react";
|
||||
import { createPortal } from "react-dom";
|
||||
|
||||
const AgeVerificationModal: React.FC<{ children: React.ReactNode }> = ({
|
||||
children,
|
||||
}) => {
|
||||
const [isVerified, setIsVerified] = useState(true);
|
||||
const [isModalOpen, setIsModalOpen] = useState(false);
|
||||
const [mounted, setMounted] = useState(false); // To handle client-side rendering for portal
|
||||
|
||||
useEffect(() => {
|
||||
setMounted(true); // Component is mounted on client
|
||||
const verified = localStorage.getItem("ageVerified");
|
||||
if (verified === "true") {
|
||||
setIsVerified(true);
|
||||
} else {
|
||||
setIsVerified(false);
|
||||
setIsModalOpen(true); // Open modal if not verified
|
||||
}
|
||||
}, []);
|
||||
|
||||
const handleVerify = () => {
|
||||
localStorage.setItem("ageVerified", "true");
|
||||
setIsVerified(true);
|
||||
setIsModalOpen(false); // Close modal
|
||||
};
|
||||
|
||||
if (isVerified) {
|
||||
return <>{children}</>;
|
||||
}
|
||||
|
||||
// Render null on server, or if not mounted yet
|
||||
if (!mounted || !isModalOpen) {
|
||||
return null;
|
||||
}
|
||||
|
||||
// Render modal only on client when mounted and if it needs to be open
|
||||
return createPortal(
|
||||
<div
|
||||
className={`fixed inset-0 z-[9999] flex items-center justify-center bg-black/70 backdrop-blur-sm
|
||||
transition-opacity duration-300 ease-out ${isModalOpen ? 'opacity-100' : 'opacity-0 pointer-events-none'}`}
|
||||
aria-modal="true"
|
||||
role="dialog"
|
||||
aria-labelledby="age-verification-title"
|
||||
aria-describedby="age-verification-description"
|
||||
>
|
||||
<div
|
||||
className={`relative max-w-md w-full mx-4 p-8 bg-card text-foreground rounded-lg shadow-2xl
|
||||
transform transition-all duration-500 ease-out-back
|
||||
${isModalOpen ? 'translate-y-0 opacity-100' : 'translate-y-full opacity-0'}`}
|
||||
style={{
|
||||
transitionProperty: 'transform, opacity',
|
||||
transitionTimingFunction: 'cubic-bezier(0.34, 1.56, 0.64, 1)'
|
||||
}}
|
||||
>
|
||||
<h2 id="age-verification-title" className="text-2xl font-bold mb-4 text-center">
|
||||
Leeftijdsverificatie
|
||||
</h2>
|
||||
<p id="age-verification-description" className="text-center mb-6">
|
||||
U moet 18 jaar of ouder zijn om deze website te bezoeken.
|
||||
</p>
|
||||
<div className="flex justify-center">
|
||||
<button
|
||||
onClick={handleVerify}
|
||||
className="px-6 py-3 bg-primary-cta text-primary-cta-text rounded-md hover:opacity-80 transition-colors duration-200 focus:outline-none focus:ring-2 focus:ring-primary-cta focus:ring-opacity-50"
|
||||
>
|
||||
Ik ben 18 jaar of ouder
|
||||
</button>
|
||||
</div>
|
||||
<p className="text-xs text-gray-500 mt-4 text-center">
|
||||
Door te klikken bevestigt u uw leeftijd en gaat u akkoord met onze gebruiksvoorwaarden.
|
||||
</p>
|
||||
</div>
|
||||
</div>,
|
||||
document.body
|
||||
);
|
||||
};
|
||||
|
||||
export default AgeVerificationModal;
|
||||
485
src/app/page.tsx
485
src/app/page.tsx
@@ -11,10 +11,12 @@ import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleAp
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
import TestimonialAboutCard from '@/components/sections/about/TestimonialAboutCard';
|
||||
import { Sparkles } from "lucide-react";
|
||||
import AgeVerificationModal from "@/app/components/AgeVerificationModal";
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
<AgeVerificationModal>
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
@@ -25,306 +27,199 @@ export default function LandingPage() {
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "/",
|
||||
},
|
||||
{
|
||||
name: "Over Pyk",
|
||||
id: "/over-pyk",
|
||||
},
|
||||
{
|
||||
name: "Webshop",
|
||||
id: "/shop",
|
||||
},
|
||||
{
|
||||
name: "Events",
|
||||
id: "/events",
|
||||
},
|
||||
{
|
||||
name: "Blog",
|
||||
id: "/blog",
|
||||
},
|
||||
{
|
||||
name: "Relatiegeschenken",
|
||||
id: "/relatiegeschenken",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "/contact",
|
||||
},
|
||||
]}
|
||||
brandName="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{
|
||||
name: "Home", id: "/"},
|
||||
{
|
||||
name: "Over Pyk", id: "/over-pyk"},
|
||||
{
|
||||
name: "Webshop", id: "/shop"},
|
||||
{
|
||||
name: "Winkelwagen", id: "/cart"},
|
||||
{
|
||||
name: "Events", id: "/events"},
|
||||
{
|
||||
name: "Blog", id: "/blog"},
|
||||
{
|
||||
name: "Relatiegeschenken", id: "/relatiegeschenken"},
|
||||
{
|
||||
name: "Contact", id: "/contact"},
|
||||
]}
|
||||
brandName="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroLogo
|
||||
logoText="PYK"
|
||||
description="Eigenwijs in Slijterijen. Ontdek onze unieke selectie wijnen, sterke dranken en delicatessen."
|
||||
buttons={[
|
||||
{
|
||||
text: "Bekijk Webshop",
|
||||
href: "/shop",
|
||||
},
|
||||
{
|
||||
text: "Ontdek Pyk",
|
||||
href: "/over-pyk",
|
||||
},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/selective-focus-shot-alcoholic-drinks-bar_181624-58203.jpg"
|
||||
imageAlt="Interieur van Pyk Slyterij Deventer"
|
||||
showDimOverlay={true}
|
||||
/>
|
||||
</div>
|
||||
<div id="hero" data-section="hero">
|
||||
<HeroLogo
|
||||
logoText="PYK"
|
||||
description="Eigenwijs in Slijterijen. Ontdek onze unieke selectie wijnen, sterke dranken en delicatessen."
|
||||
buttons={[
|
||||
{
|
||||
text: "Bekijk Webshop", href: "/shop"},
|
||||
{
|
||||
text: "Ontdek Pyk", href: "/over-pyk"},
|
||||
]}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/selective-focus-shot-alcoholic-drinks-bar_181624-58203.jpg"
|
||||
imageAlt="Interieur van Pyk Slyterij Deventer"
|
||||
showDimOverlay={true}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="usps" data-section="usps">
|
||||
<TestimonialAboutCard
|
||||
useInvertedBackground={true}
|
||||
tag="Onze Passie"
|
||||
title="Waarom Pyk?"
|
||||
description="Bij Pyk Slyterij draait alles om een unieke ervaring, deskundig advies en een buitengewone selectie."
|
||||
subdescription="Ontdek de diepte van 'Beleving' met onze proeverijen en sfeervolle winkel. Profiteer van persoonlijk 'Advies' van onze experts die u begeleiden bij elke keuze. En laat u verrassen door onze 'Selectie' van zeldzame wijnen, sterke dranken en heerlijke delicatessen."
|
||||
icon={Sparkles}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/top-view-hands-holding-food_23-2149410425.jpg"
|
||||
imageAlt="Man die een wijnfles kiest in een kelder"
|
||||
mediaAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
<div id="usps" data-section="usps">
|
||||
<TestimonialAboutCard
|
||||
useInvertedBackground={true}
|
||||
tag="Onze Passie"
|
||||
title="Waarom Pyk?"
|
||||
description="Bij Pyk Slyterij draait alles om een unieke ervaring, deskundig advies en een buitengewone selectie."
|
||||
subdescription="Ontdek de diepte van 'Beleving' met onze proeverijen en sfeervolle winkel. Profiteer van persoonlijk 'Advies' van onze experts die u begeleiden bij elke keuze. En laat u verrassen door onze 'Selectie' van zeldzame wijnen, sterke dranken en heerlijke delicatessen."
|
||||
icon={Sparkles}
|
||||
imageSrc="http://img.b2bpic.net/free-photo/top-view-hands-holding-food_23-2149410425.jpg"
|
||||
imageAlt="Man die een wijnfles kiest in een kelder"
|
||||
mediaAnimation="slide-up"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="recommended-products" data-section="recommended-products">
|
||||
<ProductCardThree
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="four-items-2x2-equal-grid"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "prod-1",
|
||||
name: "Exclusieve Rode Wijn",
|
||||
price: "€34,95",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/carafe-glass-wine-white-table_52683-96526.jpg",
|
||||
imageAlt: "Fles rode wijn",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "prod-2",
|
||||
name: "Frisse Witte Wijn",
|
||||
price: "€19,50",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/message-bottle-beach_1204-107.jpg",
|
||||
imageAlt: "Fles witte wijn",
|
||||
rating: 4,
|
||||
},
|
||||
{
|
||||
id: "prod-3",
|
||||
name: "Ambachtelijke Gin",
|
||||
price: "€49,00",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/wine-bottle-with-goblet-hookah-tubes-ashtray_176474-6111.jpg",
|
||||
imageAlt: "Fles gin",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "prod-4",
|
||||
name: "Premium Single Malt Whisky",
|
||||
price: "€75,00",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/scotch-whiskey-glass-wooden-table_123827-22162.jpg",
|
||||
imageAlt: "Glas whisky met fles",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "prod-5",
|
||||
name: "Gourmet Kaasplank",
|
||||
price: "€28,75",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/delicious-gourmet-snacks-board_23-2148325932.jpg",
|
||||
imageAlt: "Kaasplank met delicatessen",
|
||||
rating: 4,
|
||||
},
|
||||
{
|
||||
id: "prod-6",
|
||||
name: "Feestelijke Mousserende Wijn",
|
||||
price: "€22,95",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-champagne-dark-table_140725-99998.jpg",
|
||||
imageAlt: "Fles mousserende wijn",
|
||||
rating: 4,
|
||||
},
|
||||
]}
|
||||
title="Aanbevolen Producten"
|
||||
description="Een zorgvuldige selectie van onze favoriete wijnen, sterke dranken en delicatessen. Perfect om te proeven of cadeau te geven."
|
||||
/>
|
||||
</div>
|
||||
<div id="recommended-products" data-section="recommended-products">
|
||||
<ProductCardThree
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="four-items-2x2-equal-grid"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "prod-1", name: "Exclusieve Rode Wijn", price: "€34,95", imageSrc: "http://img.b2bpic.net/free-photo/carafe-glass-wine-white-table_52683-96526.jpg?_wi=1", imageAlt: "Fles rode wijn", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "prod-2", name: "Frisse Witte Wijn", price: "€19,50", imageSrc: "http://img.b2bpic.net/free-photo/message-bottle-beach_1204-107.jpg?_wi=1", imageAlt: "Fles witte wijn", rating: 4,
|
||||
},
|
||||
{
|
||||
id: "prod-3", name: "Ambachtelijke Gin", price: "€49,00", imageSrc: "http://img.b2bpic.net/free-photo/wine-bottle-with-goblet-hookah-tubes-ashtray_176474-6111.jpg?_wi=1", imageAlt: "Fles gin", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "prod-4", name: "Premium Single Malt Whisky", price: "€75,00", imageSrc: "http://img.b2bpic.net/free-photo/scotch-whiskey-glass-wooden-table_123827-22162.jpg?_wi=1", imageAlt: "Glas whisky met fles", rating: 5,
|
||||
},
|
||||
{
|
||||
id: "prod-5", name: "Gourmet Kaasplank", price: "€28,75", imageSrc: "http://img.b2bpic.net/free-photo/delicious-gourmet-snacks-board_23-2148325932.jpg?_wi=1", imageAlt: "Kaasplank met delicatessen", rating: 4,
|
||||
},
|
||||
{
|
||||
id: "prod-6", name: "Feestelijke Mousserende Wijn", price: "€22,95", imageSrc: "http://img.b2bpic.net/free-photo/top-view-champagne-dark-table_140725-99998.jpg?_wi=1", imageAlt: "Fles mousserende wijn", rating: 4,
|
||||
},
|
||||
]}
|
||||
title="Aanbevolen Producten"
|
||||
description="Een zorgvuldige selectie van onze favoriete wijnen, sterke dranken en delicatessen. Perfect om te proeven of cadeau te geven."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="blog-preview" data-section="blog-preview">
|
||||
<BlogCardTwo
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={true}
|
||||
title="Laatste Nieuws & Blogs"
|
||||
description="Blijf op de hoogte van de nieuwste trends, diepgaande artikelen en verhalen uit de wereld van Pyk."
|
||||
blogs={[
|
||||
{
|
||||
id: "blog-1",
|
||||
category: "Wijn",
|
||||
title: "De Perfecte Wijn voor het Seizoen",
|
||||
excerpt: "Ontdek welke wijnen het beste passen bij de smaken en stemmingen van elk seizoen.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/person-collecting-grapes-from-vineyard_1268-15030.jpg",
|
||||
imageAlt: "Wijngaard tijdens de oogst",
|
||||
authorName: "Pyk Slyterij",
|
||||
authorAvatar: "asset://avatar-1",
|
||||
date: "15 maart 2024",
|
||||
},
|
||||
{
|
||||
id: "blog-2",
|
||||
category: "Sterke Drank",
|
||||
title: "Cocktails maken als een Pro: Tips & Tricks",
|
||||
excerpt: "Verbaas uw gasten met deze eenvoudige maar indrukwekkende cocktailrecepten.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/tasty-daiquiri-cocktail-with-orange-high-angle_23-2149418284.jpg",
|
||||
imageAlt: "Vers gemaakte cocktail",
|
||||
authorName: "Pyk Slyterij",
|
||||
authorAvatar: "asset://avatar-2",
|
||||
date: "8 maart 2024",
|
||||
},
|
||||
{
|
||||
id: "blog-3",
|
||||
category: "Delicatessen",
|
||||
title: "De Kunst van Spijs-Wijn Combinatie",
|
||||
excerpt: "Leer hoe u de ideale wijn combineert met verschillende delicatessen voor een culinaire ervaring.",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/side-view-cheese-platter-with-grapes-nuts-honey-tray_176474-3034.jpg",
|
||||
imageAlt: "Kaas en wijn pairing",
|
||||
authorName: "Pyk Slyterij",
|
||||
authorAvatar: "asset://avatar-3",
|
||||
date: "1 maart 2024",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div id="blog-preview" data-section="blog-preview">
|
||||
<BlogCardTwo
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={true}
|
||||
title="Laatste Nieuws & Blogs"
|
||||
description="Blijf op de hoogte van de nieuwste trends, diepgaande artikelen en verhalen uit de wereld van Pyk."
|
||||
blogs={[
|
||||
{
|
||||
id: "blog-1", category: "Wijn", title: "De Perfecte Wijn voor het Seizoen", excerpt: "Ontdek welke wijnen het beste passen bij de smaken en stemmingen van elk seizoen.", imageSrc: "http://img.b2bpic.net/free-photo/person-collecting-grapes-from-vineyard_1268-15030.jpg", imageAlt: "Wijngaard tijdens de oogst", authorName: "Pyk Slyterij", authorAvatar: "asset://avatar-1", date: "15 maart 2024"},
|
||||
{
|
||||
id: "blog-2", category: "Sterke Drank", title: "Cocktails maken als een Pro: Tips & Tricks", excerpt: "Verbaas uw gasten met deze eenvoudige maar indrukwekkende cocktailrecepten.", imageSrc: "http://img.b2bpic.net/free-photo/tasty-daiquiri-cocktail-with-orange-high-angle_23-2149418284.jpg", imageAlt: "Vers gemaakte cocktail", authorName: "Pyk Slyterij", authorAvatar: "asset://avatar-2", date: "8 maart 2024"},
|
||||
{
|
||||
id: "blog-3", category: "Delicatessen", title: "De Kunst van Spijs-Wijn Combinatie", excerpt: "Leer hoe u de ideale wijn combineert met verschillende delicatessen voor een culinaire ervaring.", imageSrc: "http://img.b2bpic.net/free-photo/side-view-cheese-platter-with-grapes-nuts-honey-tray_176474-3034.jpg", imageAlt: "Kaas en wijn pairing", authorName: "Pyk Slyterij", authorAvatar: "asset://avatar-3", date: "1 maart 2024"},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="events-preview" data-section="events-preview">
|
||||
<FeatureCardSixteen
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
negativeCard={{
|
||||
items: [
|
||||
"Exclusieve Wijnproeverijen",
|
||||
"Masterclasses Sterke Dranken",
|
||||
"Delicatessen Workshops",
|
||||
],
|
||||
}}
|
||||
positiveCard={{
|
||||
items: [
|
||||
"Leer van de Experts",
|
||||
"Ontdek Nieuwe Smaken",
|
||||
"Ontmoet gelijkgestemden",
|
||||
],
|
||||
}}
|
||||
title="Ervaar Meer bij Pyk"
|
||||
description="Duik dieper in de wereld van wijnen en dranken met onze exclusieve proeverijen en evenementen. Een unieke kans om te leren en te genieten."
|
||||
tag="Komende Evenementen"
|
||||
buttons={[
|
||||
{
|
||||
text: "Bekijk Evenementenkalender",
|
||||
href: "/events",
|
||||
},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
<div id="events-preview" data-section="events-preview">
|
||||
<FeatureCardSixteen
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
useInvertedBackground={false}
|
||||
negativeCard={{
|
||||
items: [
|
||||
"Exclusieve Wijnproeverijen", "Masterclasses Sterke Dranken", "Delicatessen Workshops"],
|
||||
}}
|
||||
positiveCard={{
|
||||
items: [
|
||||
"Leer van de Experts", "Ontdek Nieuwe Smaken", "Ontmoet gelijkgestemden"],
|
||||
}}
|
||||
title="Ervaar Meer bij Pyk"
|
||||
description="Duik dieper in de wereld van wijnen en dranken met onze exclusieve proeverijen en evenementen. Een unieke kans om te leren en te genieten."
|
||||
tag="Komende Evenementen"
|
||||
buttons={[
|
||||
{
|
||||
text: "Bekijk Evenementenkalender", href: "/events"},
|
||||
]}
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="newsletter" data-section="newsletter">
|
||||
<ContactCenter
|
||||
useInvertedBackground={true}
|
||||
background={{
|
||||
variant: "radial-gradient",
|
||||
}}
|
||||
tag="Blijf Geïnformeerd"
|
||||
title="Meld u aan voor onze Nieuwsbrief"
|
||||
description="Ontvang exclusieve aanbiedingen, uitnodigingen voor proeverijen en het laatste nieuws direct in uw inbox."
|
||||
inputPlaceholder="Voer uw e-mailadres in"
|
||||
buttonText="Aanmelden"
|
||||
termsText="Door aan te melden, gaat u akkoord met ons privacybeleid."
|
||||
/>
|
||||
</div>
|
||||
<div id="newsletter" data-section="newsletter">
|
||||
<ContactCenter
|
||||
useInvertedBackground={true}
|
||||
background={{
|
||||
variant: "radial-gradient"}}
|
||||
tag="Blijf Geïnformeerd"
|
||||
title="Meld u aan voor onze Nieuwsbrief"
|
||||
description="Ontvang exclusieve aanbiedingen, uitnodigingen voor proeverijen en het laatste nieuws direct in uw inbox."
|
||||
inputPlaceholder="Voer uw e-mailadres in"
|
||||
buttonText="Aanmelden"
|
||||
termsText="Door aan te melden, gaat u akkoord met ons privacybeleid."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Over Pyk",
|
||||
href: "/over-pyk",
|
||||
},
|
||||
{
|
||||
label: "Ons Team",
|
||||
href: "/over-pyk#team",
|
||||
},
|
||||
{
|
||||
label: "De Wynkantine",
|
||||
href: "/wynkantine",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Webshop",
|
||||
href: "/shop",
|
||||
},
|
||||
{
|
||||
label: "Wijnen",
|
||||
href: "/shop?category=wijn",
|
||||
},
|
||||
{
|
||||
label: "Sterke Dranken",
|
||||
href: "/shop?category=sterkedranken",
|
||||
},
|
||||
{
|
||||
label: "Delicatessen",
|
||||
href: "/shop?category=delicatessen",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Evenementen",
|
||||
href: "/events",
|
||||
},
|
||||
{
|
||||
label: "Blog",
|
||||
href: "/blog",
|
||||
},
|
||||
{
|
||||
label: "Relatiegeschenken",
|
||||
href: "/relatiegeschenken",
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "/contact",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Instagram",
|
||||
href: "https://instagram.com/pykslyterij",
|
||||
},
|
||||
{
|
||||
label: "Facebook",
|
||||
href: "https://facebook.com/pykslyterij",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
logoText="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Over Pyk", href: "/over-pyk"},
|
||||
{
|
||||
label: "Ons Team", href: "/over-pyk#team"},
|
||||
{
|
||||
label: "De Wynkantine", href: "/wynkantine"},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Webshop", href: "/shop"},
|
||||
{
|
||||
label: "Wijnen", href: "/shop?category=wijn"},
|
||||
{
|
||||
label: "Sterke Dranken", href: "/shop?category=sterkedranken"},
|
||||
{
|
||||
label: "Delicatessen", href: "/shop?category=delicatessen"},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Evenementen", href: "/events"},
|
||||
{
|
||||
label: "Blog", href: "/blog"},
|
||||
{
|
||||
label: "Relatiegeschenken", href: "/relatiegeschenken"},
|
||||
{
|
||||
label: "Contact", href: "/contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Instagram", href: "https://instagram.com/pykslyterij"},
|
||||
{
|
||||
label: "Facebook", href: "https://facebook.com/pykslyterij"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
logoText="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
</AgeVerificationModal>
|
||||
);
|
||||
}
|
||||
|
||||
@@ -2,14 +2,48 @@
|
||||
|
||||
import { ThemeProvider } from "@/providers/themeProvider/ThemeProvider";
|
||||
import ReactLenis from "lenis/react";
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import MetricCardTwo from '@/components/sections/metrics/MetricCardTwo';
|
||||
import NavbarStyleApple from '@/components/navbar/NavbarStyleApple/NavbarStyleApple';
|
||||
import FooterLogoEmphasis from '@/components/sections/footer/FooterLogoEmphasis';
|
||||
import ProductCardThree from '@/components/sections/product/ProductCardThree';
|
||||
import AgeVerificationModal from "@/app/components/AgeVerificationModal";
|
||||
|
||||
export default function ShopPage() {
|
||||
const products = [
|
||||
{
|
||||
id: "prod-1", name: "Exclusieve Rode Wijn", price: "€34,95", imageSrc: "http://img.b2bpic.net/free-photo/carafe-glass-wine-white-table_52683-96526.jpg?_wi=2", imageAlt: "Fles rode wijn", onProductClick: () => window.location.href = "/shop/prod-1"
|
||||
},
|
||||
{
|
||||
id: "prod-2", name: "Frisse Witte Wijn", price: "€19,50", imageSrc: "http://img.b2bpic.net/free-photo/message-bottle-beach_1204-107.jpg?_wi=2", imageAlt: "Fles witte wijn", onProductClick: () => window.location.href = "/shop/prod-2"
|
||||
},
|
||||
{
|
||||
id: "prod-3", name: "Ambachtelijke Gin", price: "€49,00", imageSrc: "http://img.b2bpic.net/free-photo/wine-bottle-with-goblet-hookah-tubes-ashtray_176474-6111.jpg?_wi=2", imageAlt: "Fles gin", onProductClick: () => window.location.href = "/shop/prod-3"
|
||||
},
|
||||
{
|
||||
id: "prod-4", name: "Premium Single Malt Whisky", price: "€75,00", imageSrc: "http://img.b2bpic.net/free-photo/scotch-whiskey-glass-wooden-table_123827-22162.jpg?_wi=2", imageAlt: "Glas whisky met fles", onProductClick: () => window.location.href = "/shop/prod-4"
|
||||
},
|
||||
{
|
||||
id: "prod-5", name: "Gourmet Kaasplank", price: "€28,75", imageSrc: "http://img.b2bpic.net/free-photo/delicious-gourmet-snacks-board_23-2148325932.jpg?_wi=2", imageAlt: "Kaasplank met delicatessen", onProductClick: () => window.location.href = "/shop/prod-5"
|
||||
},
|
||||
{
|
||||
id: "prod-6", name: "Feestelijke Mousserende Wijn", price: "€22,95", imageSrc: "http://img.b2bpic.net/free-photo/top-view-champagne-dark-table_140725-99998.jpg?_wi=2", imageAlt: "Fles mousserende wijn", onProductClick: () => window.location.href = "/shop/prod-6"
|
||||
},
|
||||
{
|
||||
id: "prod-7", name: "Italiaanse Olijfolie", price: "€12,99", imageSrc: "http://img.b2bpic.net/free-photo/olive-oil-with-black-olives-glass-bowl_140725-10368.jpg", imageAlt: "Fles olijfolie", onProductClick: () => window.location.href = "/shop/prod-7"
|
||||
},
|
||||
{
|
||||
id: "prod-8", name: "Luxueuze Chocolade Truffels", price: "€15,00", imageSrc: "http://img.b2bpic.net/free-photo/assortment-chocolate-truffles_23-2147779268.jpg", imageAlt: "Chocolade truffels", onProductClick: () => window.location.href = "/shop/prod-8"
|
||||
},
|
||||
{
|
||||
id: "prod-9", name: "Biologisch Bier Pakket", price: "€25,00", imageSrc: "http://img.b2bpic.net/free-photo/assortment-beer-bottles_23-2147910100.jpg", imageAlt: "Bierpakket", onProductClick: () => window.location.href = "/shop/prod-9"
|
||||
},
|
||||
{
|
||||
id: "prod-10", name: "Vintage Port", price: "€89,00", imageSrc: "http://img.b2bpic.net/free-photo/vintage-port-wine-bottle_140725-72439.jpg", imageAlt: "Vintage Port fles", onProductClick: () => window.location.href = "/shop/prod-10"
|
||||
}
|
||||
];
|
||||
|
||||
export default function LandingPage() {
|
||||
return (
|
||||
<ThemeProvider
|
||||
<AgeVerificationModal>
|
||||
<ThemeProvider
|
||||
defaultButtonVariant="text-stagger"
|
||||
defaultTextAnimation="background-highlight"
|
||||
borderRadius="soft"
|
||||
@@ -20,225 +54,95 @@ export default function LandingPage() {
|
||||
primaryButtonStyle="shadow"
|
||||
secondaryButtonStyle="solid"
|
||||
headingFontWeight="semibold"
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{
|
||||
name: "Home",
|
||||
id: "/",
|
||||
},
|
||||
{
|
||||
name: "Over Pyk",
|
||||
id: "/over-pyk",
|
||||
},
|
||||
{
|
||||
name: "Webshop",
|
||||
id: "/shop",
|
||||
},
|
||||
{
|
||||
name: "Events",
|
||||
id: "/events",
|
||||
},
|
||||
{
|
||||
name: "Blog",
|
||||
id: "/blog",
|
||||
},
|
||||
{
|
||||
name: "Relatiegeschenken",
|
||||
id: "/relatiegeschenken",
|
||||
},
|
||||
{
|
||||
name: "Contact",
|
||||
id: "/contact",
|
||||
},
|
||||
]}
|
||||
brandName="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
>
|
||||
<ReactLenis root>
|
||||
<div id="nav" data-section="nav">
|
||||
<NavbarStyleApple
|
||||
navItems={[
|
||||
{
|
||||
name: "Home", id: "/"},
|
||||
{
|
||||
name: "Over Pyk", id: "/over-pyk"},
|
||||
{
|
||||
name: "Webshop", id: "/shop"},
|
||||
{
|
||||
name: "Winkelwagen", id: "/cart"},
|
||||
{
|
||||
name: "Events", id: "/events"},
|
||||
{
|
||||
name: "Blog", id: "/blog"},
|
||||
{
|
||||
name: "Relatiegeschenken", id: "/relatiegeschenken"},
|
||||
{
|
||||
name: "Contact", id: "/contact"},
|
||||
]}
|
||||
brandName="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="shop-catalog" data-section="shop-catalog">
|
||||
<ProductCardThree
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="uniform-all-items-equal"
|
||||
useInvertedBackground={false}
|
||||
products={[
|
||||
{
|
||||
id: "shop-prod-1",
|
||||
name: "Château Margaux Grand Cru",
|
||||
price: "€250,00",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-view-empty-wine-glasses-with-bottle-wine-dark-background_140725-131823.jpg",
|
||||
imageAlt: "Château Margaux fles",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-2",
|
||||
name: "Sauvignon Blanc Nieuw-Zeeland",
|
||||
price: "€18,95",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/elegant-champagne-glasses-with-champagne-bottle-wooden-table_23-2148253165.jpg",
|
||||
imageAlt: "Sauvignon Blanc fles",
|
||||
rating: 4,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-3",
|
||||
name: "Local Deventer Gin",
|
||||
price: "€45,00",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/front-view-iced-cocktail-fresh-icing-inside-long-glass-dark-dark-surface-with-drink-juice-cocktail-bar_140725-26176.jpg",
|
||||
imageAlt: "Deventer Gin fles",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-4",
|
||||
name: "Schotse Single Malt 12jr",
|
||||
price: "€68,50",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/old-fashioned-cocktail-garnished-with-orange-isolated-grey-background_123827-35473.jpg",
|
||||
imageAlt: "Schotse whisky fles",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-5",
|
||||
name: "Italiaanse Truffel Salami",
|
||||
price: "€12,95",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/sausage-slices-with-cheese-cubes-olives-crackers-wooden-board-with-dry-fish_114579-8804.jpg",
|
||||
imageAlt: "Truffel salami",
|
||||
rating: 4,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-6",
|
||||
name: "Prosecco Rosé Spumante",
|
||||
price: "€24,95",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/top-half-view-champagne-alc_140725-99776.jpg",
|
||||
imageAlt: "Prosecco Rosé fles",
|
||||
rating: 4,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-7",
|
||||
name: "Portugese Port Tawny",
|
||||
price: "€32,00",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/red-grapes-vineyard-cinematic-style_23-2151599779.jpg",
|
||||
imageAlt: "Portfles",
|
||||
rating: 5,
|
||||
},
|
||||
{
|
||||
id: "shop-prod-8",
|
||||
name: "Mexicaanse Tequila Blanco",
|
||||
price: "€38,00",
|
||||
imageSrc: "http://img.b2bpic.net/free-photo/close-up-bartender-cocktail-shaker_23-2149132158.jpg",
|
||||
imageAlt: "Tequila fles",
|
||||
rating: 4,
|
||||
},
|
||||
]}
|
||||
title="Onze Webshop"
|
||||
description="Ontdek ons complete assortiment wijnen, sterke dranken en delicatessen. Gebruik de filters om uw perfecte keuze te vinden."
|
||||
/>
|
||||
</div>
|
||||
<div id="product-catalog" data-section="product-catalog">
|
||||
<ProductCardThree
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="four-items-2x2-equal-grid"
|
||||
useInvertedBackground={false}
|
||||
products={products}
|
||||
title="Onze Webshop"
|
||||
description="Ontdek ons uitgebreide assortiment van wijnen, sterke dranken en delicatessen."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="shop-metrics" data-section="shop-metrics">
|
||||
<MetricCardTwo
|
||||
animationType="slide-up"
|
||||
textboxLayout="default"
|
||||
gridVariant="uniform-all-items-equal"
|
||||
useInvertedBackground={true}
|
||||
metrics={[
|
||||
{
|
||||
id: "metric-1",
|
||||
value: "250+",
|
||||
description: "Unieke Wijnen in assortiment",
|
||||
},
|
||||
{
|
||||
id: "metric-2",
|
||||
value: "100+",
|
||||
description: "Soorten Sterke Dranken",
|
||||
},
|
||||
{
|
||||
id: "metric-3",
|
||||
value: "9.2",
|
||||
description: "Gemiddelde Klantbeoordeling",
|
||||
},
|
||||
]}
|
||||
title="Webshop in Cijfers"
|
||||
description="Onze toewijding aan kwaliteit en service, samengevat in indrukwekkende cijfers."
|
||||
/>
|
||||
</div>
|
||||
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Over Pyk",
|
||||
href: "/over-pyk",
|
||||
},
|
||||
{
|
||||
label: "Ons Team",
|
||||
href: "/over-pyk#team",
|
||||
},
|
||||
{
|
||||
label: "De Wynkantine",
|
||||
href: "/wynkantine",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Webshop",
|
||||
href: "/shop",
|
||||
},
|
||||
{
|
||||
label: "Wijnen",
|
||||
href: "/shop?category=wijn",
|
||||
},
|
||||
{
|
||||
label: "Sterke Dranken",
|
||||
href: "/shop?category=sterkedranken",
|
||||
},
|
||||
{
|
||||
label: "Delicatessen",
|
||||
href: "/shop?category=delicatessen",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Evenementen",
|
||||
href: "/events",
|
||||
},
|
||||
{
|
||||
label: "Blog",
|
||||
href: "/blog",
|
||||
},
|
||||
{
|
||||
label: "Relatiegeschenken",
|
||||
href: "/relatiegeschenken",
|
||||
},
|
||||
{
|
||||
label: "Contact",
|
||||
href: "/contact",
|
||||
},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Instagram",
|
||||
href: "https://instagram.com/pykslyterij",
|
||||
},
|
||||
{
|
||||
label: "Facebook",
|
||||
href: "https://facebook.com/pykslyterij",
|
||||
},
|
||||
],
|
||||
},
|
||||
]}
|
||||
logoText="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
<div id="footer" data-section="footer">
|
||||
<FooterLogoEmphasis
|
||||
columns={[
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Over Pyk", href: "/over-pyk"},
|
||||
{
|
||||
label: "Ons Team", href: "/over-pyk#team"},
|
||||
{
|
||||
label: "De Wynkantine", href: "/wynkantine"},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Webshop", href: "/shop"},
|
||||
{
|
||||
label: "Wijnen", href: "/shop?category=wijn"},
|
||||
{
|
||||
label: "Sterke Dranken", href: "/shop?category=sterkedranken"},
|
||||
{
|
||||
label: "Delicatessen", href: "/shop?category=delicatessen"},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Evenementen", href: "/events"},
|
||||
{
|
||||
label: "Blog", href: "/blog"},
|
||||
{
|
||||
label: "Relatiegeschenken", href: "/relatiegeschenken"},
|
||||
{
|
||||
label: "Contact", href: "/contact"},
|
||||
],
|
||||
},
|
||||
{
|
||||
items: [
|
||||
{
|
||||
label: "Instagram", href: "https://instagram.com/pykslyterij"},
|
||||
{
|
||||
label: "Facebook", href: "https://facebook.com/pykslyterij"},
|
||||
],
|
||||
},
|
||||
]}
|
||||
logoText="Pyk Slyterij"
|
||||
/>
|
||||
</div>
|
||||
</ReactLenis>
|
||||
</ThemeProvider>
|
||||
</AgeVerificationModal>
|
||||
);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user