PageSourceSearch

https://blank-canvas-creation-5570.lovable.app/assets/HomeFeaturedOffersSection-cc183ab9.js

js blank-canvas-creation-5570.lovable.app collected 2026-10-03 03:24:28 UTC 7,312 bytes, 1 lines download raw bytes

1import{r as d,j as o}from"./vendor-react-a835ee61.js";import{e as G,S as U,q as X,X as J,B,Y as F,W as I,c as w,V as g,h as k}from"./index-fad5f9b7.js";import{F as Q}from"./FeatureSectionImageSlider-b543b87e.js";import{r as x,w as v}from"./clientCache-8c73dbab.js";import{A as T,m as H}from"./vendor-motion-18e7fabf.js";import"./vendor-supabase-722fbc27.js";import"./vendor-radix-core-99f1042f.js";import"./vendor-radix-primitive-4e369f64.js";import"./vendor-icons-11b98caa.js";import"./vendor-radix-dropdown-menu-86d2342e.js";import"./vendor-radix-menu-7fb79491.js";const Z=()=>{const[a,j]=d.useState(!1);return d.useEffect(()=>{const c=()=>j(window.innerWidth<768);return c(),window.addEventListener("resize",c),()=>window.removeEventListener("resize",c)},[]),a},ft=()=>{var D;const[a,j]=d.useState(()=>x("home:featuredOffersContent",null)),[c,V]=d.useState(()=>x("home:featuredOffersSlides",[])),[A,y]=d.useState(()=>x("home:featuredOffersSlides",[]).length===0&&!x("home:featuredOffersContent",null)),[K,R]=d.useState(()=>x("home:featuredOffersProducts",{})),[N,W]=d.useState(0),{selectedCountry:s,formatPrice:P}=G(),h=Z();d.useEffect(()=>{let e=!0;const m=window.setTimeout(()=>{e&&!a&&c.length===0&&y(!1)},3500);return(async()=>{y(!0);try{const{data:n}=await k.from("homepage_featured_offers").select("*").maybeSingle();e&&n&&(j(n),v("home:featuredOffersContent",n));const{data:u}=await k.from("homepage_featured_offers_slides").select("*").order("sort_order",{ascending:!0});if(e&&u){V(u),v("home:featuredOffersSlides",u);const M=u.filter(b=>b.sku).map(b=>b.sku);if(M.length>0){const{data:b}=await k.from("products").select("*").in("sku",M);if(e&&b){const C={};b.forEach(S=>{C[S.sku]=S}),R(C),v("home:featuredOffersProducts",C)}}}}catch(n){console.error("Error fetching featured offers data:",n)}finally{window.clearTimeout(m),e&&y(!1)}})(),()=>{e=!1,window.clearTimeout(m)}},[]);const Y=d.useCallback(e=>{W(e)},[]),l=(e,m)=>{if(!e)return"";if(s&&s.code!=="EN"){const p=s.translationKey||s.code.toLowerCase(),n=`${m}_${p}`;if(e[n]&&e[n].trim()!=="")return e[n]}return e[m]||""},f=(e,m)=>{if(!e)return"";const p=`mobile_${m}`;if(s&&s.code!=="EN"){const n=s.translationKey||s.code.toLowerCase(),u=`${p}_${n}`;if(e[u]&&e[u].trim()!=="")return e[u]}return e[p]&&e[p].trim()!==""?e[p]:l(e,m)};if(A)return o.jsx("section",{className:`w-full relative ${h?"aspect-[3/4]":"aspect-[16/7]"}`,children:o.jsx(U,{className:"w-full h-full bg-gray-800"})});if(!a&&c.length===0)return null;const t=c[N],r=t!=null&&t.sku?K[t.sku]:null,z=r?l(r,"name")||r.name:null,q=((s==null?void 0:s.isoCode)||((D=s==null?void 0:s.code)==null?void 0:D.split("-")[0])||"").toUpperCase(),i=r?X(r,[],{countryCode:q}):null,O=h?f(t,"title"):l(t,"title");h?f(t,"short_description"):l(t,"short_description"),h?f(t,"button_text"):l(t,"button_text");const E=h?(t==null?void 0:t.mobile_button_link)||(t==null?void 0:t.button_link)||"":(t==null?void 0:t.button_link)||"",_=h?(t==null?void 0:t.mobile_font_color)||(t==null?void 0:t.font_color)||(t==null?void 0:t.text_color)||"#ffffff":(t==null?void 0:t.font_color)||(t==null?void 0:t.text_color)||"#ffffff",L=parseFloat(r==null?void 0:r.discount_percent),$=i!=null&&i.isOnSale?L>0?Math.round(L):i.originalPrice>0?Math.round((i.originalPrice-i.finalPrice)/i.originalPrice*100):null:null;return o.jsxs("section",{className:`w-full relative overflow-hidden ${h?"aspect-[3/4]":"aspect-[16/7]"}`,children:[o.jsx("div",{className:"absolute inset-0 w-full h-full",children:o.jsx(Q,{slides:c,autoPlay:(a==null?void 0:a.auto_play)??!0,interval:(a==null?void 0:a.slide_interval)??5e3,className:"w-full h-full object-cover",onSlideChange:Y})}),t&&o.jsxs(J,{desktopPosition:t.text_position,mobilePosition:t.mobile_text_position,desktopPadding:{top:t.padding_top,bottom:t.padding_bottom,left:t.padding_left,right:t.padding_right},mobilePadding:{top:t.mobile_padding_top,bottom:t.mobile_padding_bottom,left:t.mobile_padding_left,right:t.mobile_padding_right},fallbackPadding:32,fontColor:t.font_color||t.text_color||"#ffffff",mobileFontColor:t.mobile_font_color||t.font_color||t.text_color||"#ffffff",maxWidthClass:"md:max-w-4xl",animationKey:`fo-${N}`,fadeDuration:2,fadeEase:[.4,0,.2,1],buttonHorizontalPosition:t.button_horizontal_position,mobileButtonHorizontalPosition:t.mobile_button_horizontal_position,buttonVerticalPosition:t.button_vertical_position,mobileButtonVerticalPosition:t.mobile_button_vertical_position,buttonPadding:{top:t.button_padding_top,bottom:t.button_padding_bottom,left:t.button_padding_left,right:t.button_padding_right},mobileButtonPadding:{top:t.mobile_button_padding_top,bottom:t.mobile_button_padding_bottom,left:t.mobile_button_padding_left,right:t.mobile_button_padding_right},buttonSlot:o.jsxs(o.Fragment,{children:[l(t,"button_text")&&t.button_link&&o.jsx("div",{className:"hidden md:block mt-8",children:o.jsx(B,{asChild:!0,className:F(t.button_variant||"light",{additionalClasses:g.button}),children:o.jsx(I,{to:t.button_link,children:l(t,"button_text")})})}),f(t,"button_text")&&E&&o.jsx("div",{className:"md:hidden mt-8",children:o.jsx(B,{asChild:!0,className:F(t.button_variant||"light",{additionalClasses:g.button}),children:o.jsx(I,{to:E,children:f(t,"button_text")})})})]}),children:[o.jsxs("div",{className:"hidden md:block",children:[O&&o.jsx("h3",{className:w("slider-text-color",g.title,t.font_size?`md:${t.font_size}`:"","leading-[1.1] mb-4 drop-shadow-2xl font-heading font-bold"),children:l(t,"title")}),l(t,"short_description")&&o.jsx("p",{className:w("slider-text-color",g.subt
1itle),children:l(t,"short_description")})]}),o.jsxs("div",{className:"md:hidden",children:[O&&o.jsx("h3",{className:w("slider-text-color",t.mobile_font_size||g.title,"leading-[1.1] mb-4 drop-shadow-2xl font-heading font-bold"),children:f(t,"title")}),f(t,"short_description")&&o.jsx("p",{className:w("slider-text-color",g.subtitle),children:f(t,"short_description")})]})]}),$>0&&o.jsx("div",{className:"absolute top-4 right-4 md:top-6 md:right-6 z-20 pointer-events-none",children:o.jsx(T,{mode:"wait",children:o.jsxs(H.div,{initial:{opacity:0,scale:.8},animate:{opacity:1,scale:1},exit:{opacity:0,scale:.8},transition:{duration:.3},className:"w-28 h-28 md:w-32 md:h-32 lg:w-36 lg:h-36 rounded-full flex items-center justify-center font-bold text-xl md:text-2xl lg:text-3xl drop-shadow-lg",style:{backgroundColor:_,color:_==="#ffffff"||_==="#fff"?"#000000":"#ffffff"},children:["-",$,"%"]},`badge-${t==null?void 0:t.sku}`)})}),r&&o.jsx("div",{className:"absolute bottom-3 md:bottom-10 left-0 right-0 z-20 flex justify-center pointer-events-none md:flex",children:o.jsx(T,{mode:"wait",children:o.jsxs(H.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.4},className:"flex flex-col items-center gap-1",children:[z&&o.jsx("span",{className:"text-sm md:text-base font-heading font-semibold uppercase tracking-wider drop-shadow-lg",style:{color:_},children:z}),i&&o.jsxs("div",{className:"flex items-center gap-2",children:[i.isOnSale&&o.jsx("span",{className:"text-xs md:text-sm line-through drop-shadow-md",style:{color:_,opacity:.6},children:P(i.originalPrice)}),o.jsx("span",{className:"text-sm md:text-lg font-bold drop-shadow-lg",style:{color:_},children:P(i.finalPrice)})]})]},t==null?void 0:t.sku)})})]})};export{ft 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.