PageSourceSearch

https://fitnessprofi.lovable.app/assets/Index-DYhCdHTs.js

js fitnessprofi.lovable.app collected 2026-10-03 03:31:31 UTC 14,795 bytes, 37 lines download raw bytes

1const __vite__mapDeps=(i,m=__vite__mapDeps,d=(m.f||(m.f=["assets/FeaturedProducts-C9z95dGu.js","assets/index-DfbPMtFZ.js","assets/index-Iix9ys9W.css","assets/ProductCard-DMbfcClq.js","assets/card-DN9U93Ar.js","assets/Footer-DkkU8vMF.js","assets/Combination-DdoM_vzj.js","assets/shield-gTmsYmaS.js","assets/avatar-BJUSXNbd.js","assets/LikeButton-hgR9MF0H.js","assets/useSocial-8SE6rbm7.js","assets/imageOptimization-CudCDZ50.js","assets/map-pin-BpPyR111.js","assets/star-DebO7FFT.js","assets/calendar-AeHpRayc.js","assets/eye-CWNprXLp.js","assets/useListings-BA8PmhrO.js"])))=>i.map(i=>d[i]);
2import{c as r,r as n,u as b,j as e,_ as z}from"./index-DfbPMtFZ.js";import{S as u,B as S,H as C,F as _}from"./Footer-DkkU8vMF.js";import{I as F,B as i}from"./Combination-DdoM_vzj.js";import{C as c,a as N}from"./card-DN9U93Ar.js";import{u as A}from"./useListings-BA8PmhrO.js";import{g as p}from"./imageOptimization-CudCDZ50.js";import{C as m}from"./circle-check-BnPqnqSY.js";import{S as D}from"./shield-gTmsYmaS.js";import{M as f}from"./map-pin-BpPyR111.js";import{S as l}from"./skeleton-BgfUIsCU.js";import{S as E}from"./SEOHead-CT9CEd2t.js";import{p as x,g as M,a as V}from"./seoData-Zu0mqGag.js";/**
3 * @license lucide-react v0.462.0 - ISC
4 *
5 * This source code is licensed under the ISC license.
6 * See the LICENSE file in the root directory of this source tree.
7 */const B=r("Activity",[["path",{d:"M22 12h-2.48a2 2 0 0 0-1.93 1.46l-2.35 8.36a.25.25 0 0 1-.48 0L9.24 2.18a.25.25 0 0 0-.48 0l-2.35 8.36A2 2 0 0 1 4.49 12H2",key:"169zse"}]]);/**
8 * @license lucide-react v0.462.0 - ISC
9 *
10 * This source code is licensed under the ISC license.
11 * See the LICENSE file in the root directory of this source tree.
12 */const j=r("ArrowRight",[["path",{d:"M5 12h14",key:"1ays0h"}],["path",{d:"m12 5 7 7-7 7",key:"xquz4c"}]]);/**
13 * @license lucide-react v0.462.0 - ISC
14 *
15 * This source code is licensed under the ISC license.
16 * See the LICENSE file in the root directory of this source tree.
17 */const I=r("Bike",[["circle",{cx:"18.5",cy:"17.5",r:"3.5",key:"15x4ox"}],["circle",{cx:"5.5",cy:"17.5",r:"3.5",key:"1noe27"}],["circle",{cx:"15",cy:"5",r:"1",key:"19l28e"}],["path",{d:"M12 17.5V14l-3-3 4-3 2 3h2",key:"1npguv"}]]);/**
18 * @license lucide-react v0.462.0 - ISC
19 *
20 * This source code is licensed under the ISC license.
21 * See the LICENSE file in the root directory of this source tree.
22 */const L=r("Dumbbell",[["path",{d:"M14.4 14.4 9.6 9.6",key:"ic80wn"}],["path",{d:"M18.657 21.485a2 2 0 1 1-2.829-2.828l-1.767 1.768a2 2 0 1 1-2.829-2.829l6.364-6.364a2 2 0 1 1 2.829 2.829l-1.768 1.767a2 2 0 1 1 2.828 2.829z",key:"nnl7wr"}],["path",{d:"m21.5 21.5-1.4-1.4",key:"1f1ice"}],["path",{d:"M3.9 3.9 2.5 2.5",key:"1evmna"}],["path",{d:"M6.404 12.768a2 2 0 1 1-2.829-2.829l1.768-1.767a2 2 0 1 1-2.828-2.829l2.828-2.828a2 2 0 1 1 2.829 2.828l1.767-1.768a2 2 0 1 1 2.829 2.829z",key:"yhosts"}]]);/**
23 * @license lucide-react v0.462.0 - ISC
24 *
25 * This source code is licensed under the ISC license.
26 * See the LICENSE file in the root directory of this source tree.
27 */const P=r("Target",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["circle",{cx:"12",cy:"12",r:"6",key:"1vlfrh"}],["circle",{cx:"12",cy:"12",r:"2",key:"1c9p78"}]]);/**
28 * @license lucide-react v0.462.0 - ISC
29 *
30 * This source code is licensed under the ISC license.
31 * See the LICENSE file in the root directory of this source tree.
32 */const T=r("Timer",[["line",{x1:"10",x2:"14",y1:"2",y2:"2",key:"14vaq8"}],["line",{x1:"12",x2:"15",y1:"14",y2:"11",key:"17fdiu"}],["circle",{cx:"12",cy:"14",r:"8",key:"1e1u0o"}]]);/**
33 * @license lucide-react v0.462.0 - ISC
34 *
35 * This source code is licensed under the ISC license.
36 * See the LICENSE file in the root directory of this source tree.
37 */const v=r("Zap",[["path",{d:"M4 14a1 1 0 0 1-.78-1.63l9.9-10.2a.5.5 0 0 1 .86.46l-1.92 6.02A1 1 0 0 0 13 10h7a1 1 0 0 1 .78 1.63l-9.9 10.2a.5.5 0 0 1-.86-.46l1.92-6.02A1 1 0 0 0 11 14z",key:"1xq2db"}]]),w=n.memo(()=>{const a=b(),[t,o]=n.useState(""),{getLatestListings:y}=A(),d=y(6),h=()=>{t.trim()?a(`/search?q=${encodeURIComponent(t.trim())}`):a("/search")},k=s=>{s.key==="Enter"&&h()};return e.jsxs(e.Fragment,{children:[e.jsxs("section",{className:"relative min-h-[700px] flex items-center justify-center overflow-hidden bg-gradient-to-br from-primary/5 via-background to-accent/5",children:[e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_80%_20%,rgba(var(--primary),0.15),transparent_50%)]"}),e.jsx("div",{className:"absolute inset-0 bg-[radial-gradient(circle_at_20%_80%,rgba(var(--accent),0.1),transparent_50%)]"}),e.jsx("div",{className:"relative max-w-7xl mx-auto px-4 sm:px-6 lg:px-8 py-24",children:e.jsxs("div",{className:"grid lg:grid-cols-2 gap-12 items-center",children:[e.jsxs("div",{className:"text-left",children:[e.jsxs("h1",{className:"text-5xl sm:text-6xl lg:text-7xl font-bold mb-6 leading-tight",children:["Finde dein",e.jsx("br",{}),e.jsx("span",{className:"bg-gradient-to-r from-primary to-accent bg-clip-text text-transparent",children:"Traum-Equipment"})]}),e.jsx("p",{className:"text-xl text-muted-foreground mb-8 max-w-xl",children:"Kaufe und verkaufe hochwertige Fitnessgeräte in deiner Nähe. Nachhaltig, sicher und einfach."}),e.jsx("div",{className:"mb-8",children:e.jsxs("div",{className:"relative",children:[e.jsx(u,{className:"absolute left-5 top-1/2 transform -translate-y-1/2 text-muted-foreground w-5 h-5"}),e.jsx(F,{placeholder:"Wonach suchst du? (z.B. Laufband, Hantel...)",className:"pl-14 pr-4 h-16 text-lg bg-card shadow-lg border-border/50 focus:border-primary rounded-2xl",value:t,onChange:s=>o(s.target.value),onKeyPress:k})]})}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 mb-8",children:[e.jsxs(i,{size:"lg",className:"h-14 px-8 text-lg rounded-xl shadow-lg hover:shadow-xl transition-all",onClick:h,children:[e.jsx(u,{className:"mr-2 w-5 h-5"}),"Jetzt suchen"]}),e.jsxs(i,{size:"lg",variant:"outline",className:"h-14 px-8 text-lg rounded-xl border-2",onClick:()=>a("/create-listing"),children:["Verkaufen",e.jsx(j,{className:"ml-2 w-5 h-5"})]})]}),e.jsxs("div",{className:"flex flex-wrap gap-6 text-sm text-muted-foreground",children:[e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{className:"w-5 h-5 text-success"}),"Verifizierte Verkäufer"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{className:"w-5 h-5 text-success"}),"Sichere Abwicklung"]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx(m,{className:"w-5 h-5 text-success"}),"Regional & nachhaltig"]})]})]}),e.jsx("div",{className:"hidden lg:grid grid-cols-2 gap-4",children:d.slice(0,4).map((s,g)=>e.jsx(c,{className:`border-0 shadow-lg hover:shadow-2xl transition-all cursor-pointer overflow-hidden group ${g===0?"col-span-2 row-span-2":""}`,onClick:()=>a(`/buy/${s.id}`),children:s.images&&s.images.length>0&&e.jsxs("div",{className:`relative overflow-hidden ${g===0?"h-80":"h-40"}
37`,children:[e.jsx("img",{src:p(s.images[0],{width:600,quality:80}),alt:s.title,className:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-500",loading:"lazy"}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-t from-black/60 to-transparent opacity-0 group-hover:opacity-100 transition-opacity",children:e.jsxs("div",{className:"absolute bottom-0 left-0 right-0 p-4 text-white",children:[e.jsx("p",{className:"font-bold text-lg mb-1",children:s.title}),e.jsxs("p",{className:"text-2xl font-bold",children:["€",s.price]})]})})]})},s.id))})]})})]}),e.jsx("section",{className:"py-20 bg-card/50",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-16",children:[e.jsx("h2",{className:"text-4xl font-bold mb-4",children:"Warum FitnessProfi?"}),e.jsx("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto",children:"Der einfachste Weg, Fitnessgeräte zu kaufen und zu verkaufen"})]}),e.jsxs("div",{className:"grid grid-cols-1 md:grid-cols-3 gap-8",children:[e.jsxs(c,{className:"border-0 shadow-lg hover:shadow-2xl transition-all p-8 text-center bg-card",children:[e.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-primary to-primary/50 rounded-2xl flex items-center justify-center mx-auto mb-6 shadow-lg",children:e.jsx(D,{className:"w-8 h-8 text-white"})}),e.jsx("h3",{className:"text-2xl font-bold mb-3",children:"100% Sicher"}),e.jsx("p",{className:"text-muted-foreground text-lg",children:"Verifizierte Verkäufer und sichere Bezahlung. Deine Sicherheit steht an erster Stelle."})]}),e.jsxs(c,{className:"border-0 shadow-lg hover:shadow-2xl transition-all p-8 text-center bg-card",children:[e.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-accent to-accent/50 rounded-2xl flex items-center justify-center mx-auto mb-6 shadow-lg",children:e.jsx(f,{className:"w-8 h-8 text-white"})}),e.jsx("h3",{className:"text-2xl font-bold mb-3",children:"Regional & Lokal"}),e.jsx("p",{className:"text-muted-foreground text-lg",children:"Finde Geräte in deiner Umgebung. Spare Versandkosten und schone die Umwelt."})]}),e.jsxs(c,{className:"border-0 shadow-lg hover:shadow-2xl transition-all p-8 text-center bg-card",children:[e.jsx("div",{className:"w-16 h-16 bg-gradient-to-br from-success to-success/50 rounded-2xl flex items-center justify-center mx-auto mb-6 shadow-lg",children:e.jsx(v,{className:"w-8 h-8 text-white"})}),e.jsx("h3",{className:"text-2xl font-bold mb-3",children:"Blitzschnell"}),e.jsx("p",{className:"text-muted-foreground text-lg",children:"Inseriere in Minuten und verkaufe sofort. Direkter Chat mit Käufern."})]})]})]})}),d.length>0&&e.jsx("section",{className:"py-20 bg-background",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-12",children:[e.jsx("h2",{className:"text-4xl font-bold mb-4",children:"Neueste Angebote"}),e.jsx("p",{className:"text-xl text-muted-foreground",children:"Entdecke die aktuellsten Fitness-Geräte"})]}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-3 gap-8",children:d.map(s=>e.jsxs(c,{className:"border-0 shadow-lg hover:shadow-2xl transition-all cursor-pointer overflow-hidden group bg-card",onClick:()=>a(`/buy/${s.id}`),children:[s.images&&s.images.length>0&&e.jsxs("div",{className:"relative h-56 overflow-hidden",children:[e.jsx("img",{src:p(s.images[0],{width:500,quality:80}),alt:s.title,className:"w-full h-full object-cover group-hover:scale-110 transition-transform duration-500",loading:"lazy"}),e.jsx("div",{className:"absolute top-4 right-4",children:e.jsxs(S,{className:"bg-accent text-white font-bold text-lg px-3 py-1 shadow-lg",children:["€",s.price]})})]}),e.jsxs(N,{className:"p-6",children:[e.jsx("h4",{className:"font-bold text-xl mb-3 line-clamp-2 group-hover:text-primary transition-colors",children:s.title}),e.jsxs("div",{className:"flex items-center text-muted-foreground",children:[e.jsx(f,{className:"w-4 h-4 mr-2"}),e.jsx("span",{children:s.display_location})]})]})]},s.id))}),e.jsx("div",{className:"text-center mt-12",children:e.jsxs(i,{size:"lg",className:"h-14 px-8 text-lg rounded-xl shadow-lg",onClick:()=>a("/search"),children:["Alle Angebote ansehen",e.jsx(j,{className:"ml-2 w-5 h-5"})]})})]})})]})});w.displayName="HeroSection";const q=[{icon:L,name:"Krafttraining",color:"text-primary"},{icon:I,name:"Cardio",color:"text-accent"},{icon:B,name:"Functional Training",color:"text-primary"},{icon:P,name:"Yoga & Pilates",color:"text-accent"},{icon:T,name:"Home Gym",color:"text-primary"},{icon:v,name:"Zubehör",color:"text-accent"}],H=()=>e.jsx("section",{className:"py-8 sm:py-16 bg-background min-h-[400px] sm:min-h-[450px]",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-8 sm:mb-12",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold text-foreground mb-4",children:"Entdecke unsere Kategorien"}),e.jsx("p",{className:"text-muted-foreground text-base sm:text-lg px-4",children:"Von Krafttraining bis Cardio - finde das perfekte Equipment für dein Training"})]}),e.jsx("div",{className:"grid grid-cols-2 sm:grid-cols-3 lg:grid-cols-6 gap-3 sm:gap-4",children:q.map((a,t)=>{const o=a.icon;return e.jsx(c,{className:"hover:shadow-[var(--card-shadow-hover)] transition-all duration-300 cursor-pointer group",children:e.jsxs(N,{className:"p-4 sm:p-6 text-center",children:[e.jsx("div",{className:"inline-flex items-center justify-center w-10 h-10 sm:w-12 sm:h-12 rounded-full bg-secondary mb-3 sm:mb-4 group-hover:scale-110 transition-transform duration-300",children:e.jsx(o,{className:`w-5 h-5 sm:w-6 sm:h-6 ${a.color}`})}),e.jsx("h3",{className:"font-semibold text-foreground text-sm sm:text-base leading-tight",children:a.name})]})},t)})})]})}),K=n.lazy(()=>z(()=>import("./FeaturedProducts-C9z95dGu.js"),__vite__mapDeps([0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16]))),R=()=>e.jsx(n.Suspense,{fallback:e.jsx("section",{className:"py-16 bg-card",children:e.jsxs("div",{className:"max-w-7xl mx-auto px-4 sm:px-6 lg:px-8",children:[e.jsxs("div",{className:"text-center mb-12",children:[e.jsx(l,{className:"h-9 w-64 mx-auto mb-4"}),e.jsx(l,{className:"h-6 w-96 mx-auto"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-3 gap-6",children:Array.from({length:6}).map((a,t)=>e.jsxs("div",{className:"space-y-4",children:[e.jsx(l,{className:"h-48 w-full"}),e.jsx(l,{className:"h-6 w-3/4"}),e.jsx(l,{className:"h-8 w-1/2"}),e.jsx(l,{className:"h-4 w-full"})]},t))})]})}),children:e.jsx(K,{})}),ae=()=>{const a=b(),t=[M(),V()];return e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(E,{title:x.home.title,de
37scription:x.home.description,keywords:x.home.keywords,structuredData:t,ogType:"website"}),e.jsx(C,{}),e.jsx(w,{}),e.jsx(H,{}),e.jsx(R,{}),e.jsx("section",{className:"py-8 px-4 sm:py-16 min-h-[300px]",itemScope:!0,itemType:"https://schema.org/WebPageElement",children:e.jsxs("div",{className:"max-w-4xl mx-auto text-center",children:[e.jsx("h2",{className:"text-2xl sm:text-3xl font-bold mb-4 px-2",children:"Bereit, Ihr perfektes Fitness-Gerät zu finden?"}),e.jsx("p",{className:"text-lg sm:text-xl text-muted-foreground mb-6 sm:mb-8 px-2",children:"Durchsuchen Sie unsere große Auswahl an hochwertigen Geräten von vertrauenswürdigen Verkäufern."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-3 sm:gap-4 justify-center px-4",children:[e.jsx(i,{size:"lg",onClick:()=>a("/search"),"aria-label":"Fitnessgeräte durchsuchen",className:"w-full sm:w-auto",children:"Jetzt suchen"}),e.jsx(i,{size:"lg",variant:"outline",onClick:()=>a("/create-listing"),"aria-label":"Fitnessgerät verkaufen",className:"w-full sm:w-auto",children:"Verkaufen"})]})]})}),e.jsx(_,{})]})};export{ae as default};

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.