diff --git a/src/components/Hero.tsx b/src/components/Hero.tsx index 9d7f87d..7ade1e5 100644 --- a/src/components/Hero.tsx +++ b/src/components/Hero.tsx @@ -2,9 +2,11 @@ import { useNavigate } from "react-router-dom"; import { ArrowRight } from "lucide-react"; import React, { useState, useEffect, useRef } from "react"; import { useTheme } from "next-themes"; +import { useQuery } from "@tanstack/react-query"; import Silk from "@/components/Silk"; import CountUp from "@/components/CountUp"; import { trackCtaClick } from "@/lib/analytics"; +import { fetchProjects } from "@/lib/projects"; const SPARKLE_SVG = ( @@ -37,6 +39,17 @@ const Hero = () => { const [companyAge, setCompanyAge] = useState(""); const secondBtnRef = useRef(null); + // Projektzähler kommt live aus Gitea – gleicher queryKey wie im Abschnitt + // „Projekte", react-query teilt sich den einen Request. + const { data: projectsSnapshot } = useQuery({ + queryKey: ["projects"], + queryFn: ({ signal }) => fetchProjects(signal), + staleTime: 5 * 60 * 1000, + refetchOnWindowFocus: false, + retry: 1, + }); + const projectCount = projectsSnapshot?.total ?? 10; + useEffect(() => { const calculateAge = () => { const now = new Date(); @@ -172,7 +185,7 @@ const Hero = () => {