PageSourceSearch

https://luxexpose.com/assets/Experiences-BdD9RES9.js

js luxexpose.com collected 2026-10-02 05:05:42 UTC 12,440 bytes, 18 lines download raw bytes

1import{j as e}from"./vendor-ui-4fpAmGSB.js";import{r as d,L as w}from"./vendor-core-CQ8qaKpM.js";import{r as N,Q as _,B as p,af as k,aB as E,C as h,d as u,m as I,o as S,N as C,n as q}from"./index-DqL6WUeV.js";import{E as y}from"./ExperienceCard-CEAq-0My.js";import{p as R}from"./peak-experiences.jpg.asset-m0oipZUd.js";import{t as L}from"./hero-villa-DXJ_SbPR.js";import{C as A}from"./chevron-left-O7PdvCBR.js";import{M as H}from"./message-circle-CE5zOKAU.js";import{E as V}from"./ExperiencePathways-CUhA3xks.js";import{E as z}from"./eye-CPYoNgbS.js";import{S as P}from"./skeleton-C5AoOAyh.js";import{f as B}from"./experienceCatalog-CEJHI8Ag.js";import"./vendor-db-CAUBq_ny.js";import"./BookmarkButton-CaNVAYRe.js";import"./index-C8wTVlj0.js";import"./heart-BO54g7LI.js";import"./experienceFormatters-BZvRrPnm.js";import"./conciergeHref-C7L0GHRp.js";import"./map-pin-Cn1ZamqK.js";import"./square-pen-CEIlek0F.js";import"./arrow-up-right-BljOmxsl.js";import"./hero-yacht-single-B8w7BcPI.js";import"./lifestyle-dining-C3Ok-v2n.js";import"./hero-exotic-car-5iEX2L5U.js";import"./lifestyle-celebration-BULUM6wm.js";/**
2 * @license lucide-react v0.462.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */const O=N("HeartHandshake",[["path",{d:"M19 14c1.49-1.46 3-3.21 3-5.5A5.5 5.5 0 0 0 16.5 3c-1.76 0-3 .5-4.5 2-1.5-1.5-2.74-2-4.5-2A5.5 5.5 0 0 0 2 8.5c0 2.3 1.5 4.05 3 5.5l7 7Z",key:"c3ymky"}],["path",{d:"M12 5 9.04 7.96a2.17 2.17 0 0 0 0 3.08c.82.82 2.13.85 3 .07l2.07-1.9a2.82 2.82 0 0 1 3.79 0l2.96 2.66",key:"4oyue0"}],["path",{d:"m18 15-2-2",key:"60u0ii"}],["path",{d:"m15 18-2-2",key:"6p76be"}]]),D=L,c=[{url:"https://images.unsplash.com/photo-1540541338287-41700207dee6?w=1920&q=80",title:"Sail Beyond Horizons"},{url:"https://images.unsplash.com/photo-1613490493576-7fde63acd811?w=1920&q=80",title:"Your Private Paradise"},{url:"https://images.unsplash.com/photo-1566073771259-6a8506099945?w=1920&q=80",title:"Unforgettable Destinations"},{url:"https://images.unsplash.com/photo-1436491865332-7a61a109cc05?w=1920&q=80",title:"Curated Adventures"},{url:R.url,title:"Peak Experiences"}],M=()=>{const[s,a]=d.useState(0);d.useEffect(()=>{const l=setInterval(()=>{a(i=>(i+1)%c.length)},8e3);return()=>clearInterval(l)},[]);const r=()=>{a(l=>(l+1)%c.length)},m=()=>{a(l=>(l-1+c.length)%c.length)};return e.jsxs("div",{className:"relative h-[85vh] flex items-center justify-center overflow-hidden",children:[c.map((l,i)=>e.jsxs("div",{className:`absolute inset-0 transition-opacity duration-1000 ${i===s?"opacity-100":"opacity-0"}`,children:[e.jsx("img",{src:l.url,alt:l.title,className:"w-full h-full object-cover",loading:i===0?"eager":"lazy",decoding:"async",...i===0?{fetchpriority:"high"}:{},onError:o=>{const t=o.currentTarget;t.dataset.fallbackApplied!=="true"&&(t.dataset.fallbackApplied="true",t.src=D)}}),e.jsx("div",{className:"absolute inset-0 bg-gradient-to-b from-black/60 via-black/40 to-black/70"})]},i)),e.jsxs("div",{className:"absolute inset-0 pointer-events-none",children:[e.jsx("div",{className:"absolute top-20 left-10 w-32 h-32 border border-luxury-gold/20 rotate-45 animate-[spin_20s_linear_infinite]"}),e.jsx("div",{className:"absolute bottom-32 right-20 w-24 h-24 border border-luxury-gold/20 rotate-12 animate-[spin_15s_linear_infinite_reverse]"}),e.jsx("div",{className:"absolute top-1/2 left-1/4 w-16 h-16 border border-luxury-gold/20 animate-[spin_25s_linear_infinite]"})]}),e.jsx("button",{onClick:m,className:"hidden md:block absolute left-6 top-1/2 -translate-y-1/2 z-20 glass-card-dark p-3 rounded-full hover:bg-luxury-gold/20 transition-colors group","aria-label":"Previous image",children:e.jsx(A,{className:"w-6 h-6 text-white group-hover:text-luxury-gold transition-colors"})}),e.jsx("button",{onClick:r,className:"hidden md:block absolute right-6 top-1/2 -translate-y-1/2 z-20 glass-card-dark p-3 rounded-full hover:bg-luxury-gold/20 transition-colors group","aria-label":"Next image",children:e.jsx(_,{className:"w-6 h-6 text-white group-hover:text-luxury-gold transition-colors"})}),e.jsx("div",{className:"absolute bottom-24 left-1/2 -translate-x-1/2 z-20 flex gap-2",children:c.map((l,i)=>e.jsx("button",{onClick:()=>a(i),className:`w-2 h-2 rounded-full transition-all ${i===s?"bg-luxury-gold w-8":"bg-white/50 hover:bg-white/75"}`,"aria-label":`Go to image ${i+1}`},i))}),e.jsxs("div",{className:"relative z-10 max-w-6xl mx-auto px-6 text-center",children:[e.jsxs("h1",{className:"font-serif text-5xl md:text-7xl lg:text-8xl font-light tracking-tight text-foreground mb-6 animate-fade-in",children:["Curated experiences.",e.jsx("br",{}),e.jsx("span",{className:"text-luxury-gold",children:"Requested privately."})]}),e.jsx("p",{className:"text-lg md:text-xl text-muted-foreground max-w-2xl mx-auto mb-12 leading-relaxed font-light animate-fade-in-slow",children:"Private aviation, yachts, villas, dining, driving and rare journeys—considered by Lux Exposé and coordinated on request."}),e.jsxs("div",{className:"flex flex-col sm:flex-row gap-4 justify-center items-center animate-fade-in",children:[e.jsx(p,{asChild:!0,size:"lg",className:"bg-luxury-gold hover:bg-luxury-gold-dark text-background font-medium px-8 py-6 text-lg group min-h-[44px]",children:e.jsxs("a",{href:"#experience-pathways",children:["Explore Experiences",e.jsx(k,{className:"ml-2 h-5 w-5 group-hover:translate-x-1 transition-transform"})]})}),e.jsx(p,{asChild:!0,size:"lg",variant:"outline",className:"glass-border-gold backdrop-blur-sm bg-background/5 hover:bg-luxury-gold/10 px-8 py-6 text-lg min-h-[44px]",children:e.jsxs(w,{to:"/concierge?category=other&source=experiences-hub#inquiry-form",children:[e.jsx(H,{className:"mr-2 h-5 w-5"}),"Request Something Bespoke"]})})]})]}),e.jsx("div",{className:"absolute bottom-8 left-1/2 -translate-x-1/2 animate-bounce",children:e.jsx("div",{className:"w-6 h-10 border-2 border-luxury-gold/30 rounded-full flex items-start justify-center p-2",children:e.jsx("div",{className:"w-1.5 h-3 bg-luxury-gold rounded-full animate-[slide-down_2s_ease-in-out_infinite]"})})})]})},$=[{title:"Discover",description:"Choose a pathway or tell us what you have in mind."},{title:"Request",description:"Send a private request. Our team reviews it and returns options."},{title:"Coordinate",description:"Availability, logistics and details are coordinated end to end."}],F=()=>e.jsx("section",{"aria-labelledby":"how-it-works-heading",className:"py-16 md:py-20 px-4 border-t border-border/40",children:e.jsxs("div",{className:"max-w-6xl mx-auto",children:[e.jsxs("div",{className:"max-w-2xl mb-10 md:mb-12",children:[e.jsx("p",{className:"text-xs uppercase tracking-luxury-wide text-luxury-gold mb-3",children:"How it works"}),e.jsx("h2",{id:"how-it-works-heading",className:"font-serif text-3xl md:text-4xl font-light tracking-luxury",children:"Discover. Request. Coordinate."})]}),e.jsx("ol",{className:"grid grid-cols-1 md:grid-cols-3 gap-px bg-border/40 border border-border/40",children:$.map((s,a)=>e.jsxs("li",{className:"bg-background p-6 md:p-8 flex flex-col",children:[e.jsx("span",{className:"text-xs font-serif tracking-luxury-wide text-luxury-gold mb-4",children:String(a+1).padStart(2,"0")}),e.jsx("h3",{className:"font-serif text-xl md:text-2xl text-foreground mb-2 leading-snug",children:s.title}),e.jsx("p",{className:"text-sm text-muted-foreground leading-relaxed font-light",children:s.description})]},s.title))})]})}),G=[{Icon:z,title:"Concierge-vetted requests",description:"Each request is reviewed for fit before we source options."},{Icon:O,title:"Private coordination",description:"Requests, itineraries and identities are handled in confidence."},{Icon:E,title:"One point of contact",description:"A single team member who learns how you prefer to travel and host."}],T=()=>e.jsx("section",{"aria-label":"Concierge principles",className:"border-t border-border/40 bg-card/40 py-14 md:py-16",children:e.jsx("div",{className:"max-w-6xl mx-auto px-4",children:e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-3 gap-8 md:gap-12",children:G.map(({Icon:s,title:a,description:r})=>e.jsxs("div",{className:"flex flex-col items-start gap-3",children:[e.jsx(s,{className:"w-5 h-5 text-luxury-gold",strokeWidth:1.25,"aria-hidden":"true"}),e.jsx("h3",{className:"font-serif text-base md:text-lg text-foreground tracking-wide",children:a}),e.jsx("p",{className:"text-sm text-muted-foreground font-light leading-relaxed",children:r})]},a))})})}),U=({experiences:s,loading:a})=>a?e.jsxs("div",{className:"mb-12",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[e.jsx(h,{className:"h-5 w-5 text-muted-foreground"}),e.jsx("h2",{className:"text-2xl font-serif font-light",children:"Recently Viewed"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-4 gap-6",children:[1,2,3,4].map(r=>e.jsx(P,{className:"h-[300px] rounded-xl"},r))})]}):s.length===0?null:e.jsxs("div",{className:"mb-12 animate-fade-in",children:[e.jsxs("div",{className:"flex items-center gap-2 mb-6",children:[e.jsx(h,{className:"h-5 w-5 text-muted-foreground"}),e.jsx("h2",{className:"text-2xl font-serif font-light",children:"Recently Viewed"})]}),e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 lg:grid-cols-4 gap-6",children:s.slice(0,4).map(r=>e.jsx(y,{id:r.id,title:r.title,slug:r.slug,featured_image:r.featured_image,experience_type:r.experience_type,location:r.location,price_range:r.price_range,short_description:r.short_description},r.id))})]}),f="anonymous_session_id",b=()=>{let s=localStorage.getItem(f);return s||(s=`anon_${Date.now()}_${Math.random().toString(36).substr(2,9)}`,localStorage.setItem(f,s)),s},K=()=>{const[s,a]=d.useState([]),[r,m]=d.useState(!0),l=async o=>{try{const{data:{user:t}}=await u.auth.getUser(),n=t?null:b();await u.from("recently_viewed").upsert({user_id:(t==null?void 0:t.id)||null,experience_id:o,session_id:n,viewed_at:new Date().toISOString()},{onConflict:t?"user_id,experience_id":"session_id,experience_id"})}catch(t){console.error("Error tracking view:",t)}},i=async()=>{try{const{data:{user:o}}=await u.auth.getUser(),t=o?null:b();let n=u.from("recently_viewed").select(`
7          viewed_at,
8          experiences:experience_id (
9            id,
10            title,
11            slug,
12            featured_image,
13            experience_type,
14            location,
15            price_range,
16            short_description
17          )
18        `).order("viewed_at",{ascending:!1}).limit(8);
18o?n=n.eq("user_id",o.id):n=n.eq("session_id",t);const{data:x,error:g}=await n;if(g)throw g;const v=(x==null?void 0:x.map(j=>j.experiences).filter(Boolean))||[];a(v)}catch(o){console.error("Error loading recently viewed:",o)}finally{m(!1)}};return d.useEffect(()=>{i()},[]),{recentlyViewed:s,loading:r,trackView:l,refresh:i}},ye=()=>{const[s,a]=d.useState([]),[r,m]=d.useState(!0),{recentlyViewed:l,loading:i}=K();d.useEffect(()=>{let t=!1;return B({limit:6}).then(n=>{t||a(n)}).catch(()=>{t||a([])}).finally(()=>{t||m(!1)}),()=>{t=!0}},[]);const o=s.length>0;return e.jsxs(e.Fragment,{children:[e.jsx(I,{title:"Luxury Experiences | Lux Exposé",description:"Private aviation, yachts, villas, dining, automotive and rare journeys, requested privately and coordinated by Lux Exposé.",url:`${S.url}/experiences`}),e.jsxs("div",{className:"min-h-screen bg-background",children:[e.jsx(C,{}),e.jsxs("main",{children:[e.jsx(M,{}),e.jsx(V,{}),o&&e.jsxs("section",{id:"experiences-grid",className:"relative z-10 mx-auto max-w-6xl scroll-mt-24 px-4 py-14 md:py-20",children:[e.jsxs("div",{className:"mb-8 md:mb-10",children:[e.jsx("p",{className:"mb-3 text-xs uppercase tracking-luxury-wide text-luxury-gold",children:"Current selection"}),e.jsx("h2",{className:"font-serif text-3xl font-light tracking-luxury md:text-4xl",children:"Current Selection"}),e.jsx("p",{className:"mt-3 text-base font-light text-muted-foreground md:text-lg",children:"Submit a request on any listing and our team will source and confirm availability."})]}),e.jsx("div",{className:"grid grid-cols-1 gap-6 md:grid-cols-2 md:gap-8 lg:grid-cols-3",children:s.map(t=>e.jsx(y,{id:t.id,title:t.title,slug:t.slug,featured_image:t.featured_image,experience_type:t.experience_type,location:t.location,price_range:t.price_range,view_count:t.view_count,featured:t.featured},t.id))})]}),!r&&e.jsx(U,{experiences:l,loading:i}),e.jsx(F,{}),e.jsx(T,{})]}),e.jsx(q,{})]})]})};export{ye 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.