PageSourceSearch

https://faforlifeherbal.lovable.app/assets/StorePage-Zu46VcHn.js

js faforlifeherbal.lovable.app collected 2026-10-03 03:31:02 UTC 2,472 bytes, 1 lines download raw bytes

1import{j as e}from"./vendor-ui-BANI6a6F.js";import{k as m,r as d}from"./vendor-react-DJ3yxPNe.js";import{u as p}from"./vendor-query-CcRWWvw_.js";import{d as g,a as n,s as f}from"./index-DwXv1ZZr.js";import{Q as h,F as x,C as y,a as _,P as j,H as b}from"./QuickContactCTA-DswgbNPy.js";import{H as w}from"./HeadMeta-MKh6JWUj.js";import"./vendor-supabase-D-vHfFRB.js";import"./useInView-BL9Yu6yx.js";import"./pagination-Bg5X2AFW.js";import"./useTablePagination-De7D4hEA.js";import"./dialog-CK-_-Mew.js";import"./eye-Dac1A2lp.js";import"./star-D7F2ApnC.js";function S({section:s}){switch(s.type){case"hero_banners":return e.jsx(b,{});case"product_grid":return e.jsx(j,{config:s.config});case"categories_showcase":return e.jsx(_,{config:s.config});case"cta_banner":return e.jsx(y,{config:s.config});case"features_grid":return e.jsx(x,{config:s.config});case"quick_contact_cta":return e.jsx(h,{config:s.config});default:return null}}const l=[{type:"hero_banners",config:{}},{type:"product_grid",config:{heading:"Our Products",label:"Shop",show_filters:!0,limit:12}},{type:"cta_banner",config:{heading:"Ready to Get Started?",text:"Browse our collection and find exactly what you need.",bg_style:"dark"}},{type:"features_grid",config:{heading:"Why Choose Us",label:"Our Promise"}}];function $(){var c;const{hash:s}=m(),{settings:a}=g(),i=((c=a==null?void 0:a.general)==null?void 0:c.store_name)||"FaforLife Herbal",{data:u,isLoading:o}=p({queryKey:["page-template-store"],queryFn:async()=>{const{data:r}=await f.from("page_templates").select("sections").eq("page_name","store").maybeSingle();return r!=null&&r.sections&&Array.isArray(r.sections)&&r.sections.length>0?r.sections:l}});return d.useEffect(()=>{if(!o&&s){const r=s.replace("#","");setTimeout(()=>{var t;(t=document.getElementById(r))==null||t.scrollIntoView({behavior:"smooth"})},100)}},[o,s]),o?e.jsxs("div",{className:"min-h-screen",children:[e.jsx(n,{className:"h-[400px] w-full rounded-none"}),e.jsxs("div",{className:"max-w-7xl mx-auto px-4 py-16 space-y-8",children:[e.jsx(n,{className:"h-8 w-48 mx-auto"}),e.jsx("div",{className:"grid grid-cols-1 sm:grid-cols-2 lg:grid-cols-4 gap-6",children:Array.from({length:8}).map((r,t)=>e.jsx(n,{className:"h-64 rounded-xl"},t))})]})]}):e.jsxs(e.Fragment,{children:[e.jsx(w,{title:`Shop | ${i}`,description:`Browse the full ${i} product collection. Premium organic herbal supplements.`}),(u||l).map((r,t)=>e.jsx(S,{section:r},`${r.type}-${t}`))]})}export{$ 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.