diff --git a/src/assets/bakery-heritage.jpg b/src/assets/bakery-heritage.jpg new file mode 100644 index 0000000..f77daf3 Binary files /dev/null and b/src/assets/bakery-heritage.jpg differ diff --git a/src/assets/chokladsnitt.jpg b/src/assets/chokladsnitt.jpg new file mode 100644 index 0000000..6fdc513 Binary files /dev/null and b/src/assets/chokladsnitt.jpg differ diff --git a/src/assets/kolasnitt.jpg b/src/assets/kolasnitt.jpg new file mode 100644 index 0000000..e273e14 Binary files /dev/null and b/src/assets/kolasnitt.jpg differ diff --git a/src/assets/mandelkubb.jpg b/src/assets/mandelkubb.jpg new file mode 100644 index 0000000..f0535fe Binary files /dev/null and b/src/assets/mandelkubb.jpg differ diff --git a/src/components/HeritageSection.tsx b/src/components/HeritageSection.tsx new file mode 100644 index 0000000..d688800 --- /dev/null +++ b/src/components/HeritageSection.tsx @@ -0,0 +1,148 @@ +import { useEffect, useRef, useState } from "react"; +import bakeryHeritageImage from "@/assets/bakery-heritage.jpg"; +import mandelkubbImage from "@/assets/mandelkubb.jpg"; +import kolasnittImage from "@/assets/kolasnitt.jpg"; +import chokladsnittImage from "@/assets/chokladsnitt.jpg"; + +const cookies = [ + { + name: "Mandelkubb", + image: mandelkubbImage, + }, + { + name: "Kolasnitt", + image: kolasnittImage, + }, + { + name: "Chokladsnitt", + image: chokladsnittImage, + }, +]; + +const HeritageSection = () => { + const [heroVisible, setHeroVisible] = useState(false); + const [cookiesVisible, setCookiesVisible] = useState(false); + const heroRef = useRef(null); + const cookiesRef = useRef(null); + + useEffect(() => { + const observerOptions = { + threshold: 0.2, + rootMargin: "0px 0px -50px 0px", + }; + + const heroObserver = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + setHeroVisible(true); + } + }); + }, observerOptions); + + const cookiesObserver = new IntersectionObserver((entries) => { + entries.forEach((entry) => { + if (entry.isIntersecting) { + setCookiesVisible(true); + } + }); + }, observerOptions); + + if (heroRef.current) heroObserver.observe(heroRef.current); + if (cookiesRef.current) cookiesObserver.observe(cookiesRef.current); + + return () => { + heroObserver.disconnect(); + cookiesObserver.disconnect(); + }; + }, []); + + return ( +
+
+ {/* Heritage Hero */} +
+ {/* Image */} +
+ Traditionellt svenskt konditori +
+
+ + {/* Text Content */} +
+
+ +
+

+ Handbakat med Kärlek +

+
+

+ Konsten att baka har gått i vår familj i flera generationer. + Vi tror på det enkla – riktigt svenskt smör, + färska mandlar och äkta choklad. Inga konstigheter, inga processade + ingredienser. Bara ärlig, traditionell bakning. +

+

+ Varje kaka formas för hand med samma omsorg som våra förfäder + gjorde. Det är så det alltid har varit, och så det alltid kommer att vara. +

+
+
+
+ + {/* Cookies Grid */} +
+ {cookies.map((cookie, index) => ( +
+
+
+ {cookie.name} +
+
+

+ {cookie.name} +

+
+
+
+ ))} +
+ + {/* Bottom ornament */} +
+ ❦ +
+
+
+ ); +}; + +export default HeritageSection; diff --git a/src/pages/Index.tsx b/src/pages/Index.tsx index 3ba3935..4b517d8 100644 --- a/src/pages/Index.tsx +++ b/src/pages/Index.tsx @@ -1,6 +1,6 @@ import Header from "@/components/Header"; import HeroSection from "@/components/HeroSection"; -import GallerySection from "@/components/GallerySection"; +import HeritageSection from "@/components/HeritageSection"; import PlansSection from "@/components/PlansSection"; import Footer from "@/components/Footer"; @@ -9,7 +9,7 @@ const Index = () => {
- +