PageSourceSearch

https://www.furnzy.com/_next/static/chunks/app/layout-4baa881c64395910.js

js furnzy.com collected 2026-10-08 17:01:41 UTC 9,843 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[7177],{80:(e,t,r)=>{"use strict";r.d(t,{ShoppingListProvider:()=>b,D:()=>y});var i=r(10221),n=r(5153),s=r(55417),o=r(42849),a=r(48718),l=r(59956),d=r(35684);let c=(0,d.createServerReference)("788ebc7fff2bd02cb18ef71d2498e10a47d9723ef4",d.callServer,void 0,d.findSourceMapURL,"createShoppingList"),p=(0,d.createServerReference)("70cea20b94cb36ff6c99b0fe6d6fc5cedaa658bbc8",d.callServer,void 0,d.findSourceMapURL,"updateShoppingList"),u=(0,d.createServerReference)("70ba96bffc4c7102aa101f6d8ce718e6b6b13b51cf",d.callServer,void 0,d.findSourceMapURL,"addShoppingListItem"),h=(0,d.createServerReference)("7f0598269f0cfe8dc4521c919fa32a061c1adf5601",d.callServer,void 0,d.findSourceMapURL,"deleteShoppingListItems"),f=(0,d.createServerReference)("40a52f8936d261a3543082711bec80b0f5e847a993",d.callServer,void 0,d.findSourceMapURL,"deleteShoppingList");var g=r(51724);let m={getItem:e=>(0,o.Ri)(e)??null,setItem:(e,t)=>{(0,o.TV)(e,t,{expires:1,path:"/"})},removeItem:e=>{(0,o.zs)(e)}},v=(0,s.createContext)(null);function b({children:e,...t}){let r=(0,s.useRef)(),{user:o}=(0,n.Jd)();return r.current||(r.current=(0,a.vt)()((0,l.Zr)((e,r)=>({shoppingLists:[],currentListId:null,loading:!1,...t,createList:async(t,i,n=!1)=>{e({loading:!0});let s=r().userId||null,o={id:crypto.randomUUID(),name:t,is_default:n,is_private:i,Shopping_List_Items:[],date_created:new Date().toISOString()};try{if(s){o.user_id=s;let e=await c(t,o.date_created,o.is_private,o.is_default);o.id=e.id}return e(e=>({shoppingLists:[...e.shoppingLists,o]})),o}catch(e){throw(0,g.v)({message:"Failed to create shopping list",data:e},"error"),e}finally{e({loading:!1})}},editList:async(t,i,n=!1)=>{e({loading:!0});let s=r().userId||null,o={...r().shoppingLists.find(e=>e.id===t),name:i,is_private:n};try{return s&&await p(t,i,n),e(e=>({shoppingLists:e.shoppingLists.map(e=>e.id===t?o:e)})),o}catch(e){throw(0,g.v)({message:"Failed to update shopping list",data:e},"error"),e}finally{e({loading:!1})}},addItem:async(t,i)=>{e({loading:!0});let n=r().userId||null,s=new Date().toISOString();try{let r={id:crypto.randomUUID(),product_id:i,date_added:s};if(n){let e=await u(t,r.product_id,r.date_added);r.id=e.id}e(e=>({shoppingLists:e.shoppingLists.map(e=>e.id===t?{...e,Shopping_List_Items:e.Shopping_List_Items?[...e.Shopping_List_Items,r]:[r]}:e)}))}catch(e){throw(0,g.v)({message:`Failed to add product ${i} to list ${t}`,data:e},"error"),e}finally{e({loading:!1})}},removeItem:async(t,i)=>{e({loading:!0});let n=r().userId||null;try{if(n){let e=r().shoppingLists.find(e=>e.id===t)?.Shopping_List_Items.find(e=>e.product_id===i)?.id;if(!e)throw Error(`Item with product_id ${i} not found in list ${t}`);await h([e])}e(e=>({shoppingLists:e.shoppingLists.map(e=>e.id===t?{...e,Shopping_List_Items:e.Shopping_List_Items?.filter(e=>e.product_id!==i)}:e)}))}catch(e){throw(0,g.v)({message:"Failed to remove item from shopping list",data:e},"error"),e}finally{e({loading:!1})}},removeItemFromAllLists:async t=>{e({loading:!0});let i=r().userId||null;try{if(i){let e=r().shoppingLists.map(e=>e.Shopping_List_Items).flat().filter(e=>e.product_id===t).map(e=>e.id);await h(e)}e(e=>({shoppingLists:e.shoppingLists.map(e=>({...e,Shopping_List_Items:e.Shopping_List_Items?.filter(e=>e.product_id!==t)}))}))}catch(e){throw(0,g.v)({message:"Failed to remove item from all the the shopping lists",data:e},"error"),e}finally{e({loading:!1})}},deleteList:async t=>{e({loading:!0});let i=r().userId||null;try{i&&await f(t),e(e=>({shoppingLists:e.shoppingLists.filter(e=>e.id!==t)}))}catch(e){throw(0,g.v)({message:"Failed to delete shopping list",data:e},"error"),e}finally{e({loading:!1})}},setCurrentListId:t=>{e({currentListId:t})}}),{name:"_furnzy_shoppinglists",version:1,storage:(0,l.KU)(()=>m),skipHydration:!0,partialize:e=>({shoppingLists:e.shoppingLists,currentListId:e.currentListId})}))),(0,s.useEffect)(()=>{r.current?.setState(e=>({...e,userId:o?.id||null}))},[o]),(0,i.jsx)(v.Provider,{value:r.current,children:e})}function y(e){let t=(0,s.useContext)(v);if(!t)throw Error("Missing GeolocationContext.Provider in the tree");return t(e)}},942:()=>{},9161:()=>{},11557:(e,t,r)=>{"use strict";r.d(t,{default:()=>s});var i=r(55417);let n=["brand","location","room","group","type","style"];function s(){return(0,i.useEffect)(()=>{let e=navigator.modelContext;if(!e)return;let t=new AbortController;return e.registerTool({name:"search_furniture",description:"Search Furnzy furniture catalog by brand, location, room, group (category), type, or style. Returns product listings as markdown.",inputSchema:{type:"object",properties:{brand:{type:"string",description:"Manufacturer slug (e.g. ashley, coaster)"},location:{type:"string",description:"City slug (e.g. dallas-tx, chicago-il)"},room:{type:"string",description:"Room category (e.g. living-room, bedroom, kitchen-dining)"},group:{type:"string",description:"Product category (e.g. sofas, beds, rugs)"},type:{type:"string",description:"Sub-type (e.g. sectional, king-size-bed)"},style:{type:"string",description:"Design style (e.g. modern, farmhouse)"}}},annotations:{readOnlyHint:!0},execute:async e=>{let t=function(e){let t=[];for(let r of n){let i=e[r];"string"==typeof i&&i&&t.push(`${r}/${i}`)}return`/shop/${t.join("/")}`}(e);return(await fetch(`/api/md?path=${encodeURIComponent(t)}`)).text()}},{signal:t.signal}),e.registerTool({name:"get_product",description:"Get detailed product information by short ID (8-char hex). Returns price, dimensions, materials, colors, brand, and more.",inputSchema:{type:"object",properties:{productId:{type:"string",description:"8-character hex product identifier"}},required:["productId"]},annotations:{readOnlyHint:!0},execute:async e=>(await fetch(`/api/products/${e.productId}`)).json()},{signal:t.signal}),()=>t.abort()},[]),null}},13345:(e,t,r)=>{"use strict";r.d(t,{GlobalModeControl:()=>l});var i=r(10221),n=r(55417),s=r(42849);let o="_furnzy_geostate";function a(e){(0,s.TV)(o,JSON.stringify({state:{location:{latitude:null,longitude:null,metadata:{}},geolocationMethod:e},version:3}),{expires:1,path:"/"})}
1function l(){let[e,t]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{let e=new URL(window.location.href),r=e.searchParams.get("global");if(null!==r){a("1"===r?"global":null),e.searchParams.delete("global"),window.location.replace(e.toString());return}t("global"===function(){try{let e=(0,s.Ri)(o);return e?JSON.parse(e).state?.geolocationMethod??null:null}catch{return null}}())},[]),e)?(0,i.jsxs)("div",{className:"mt-2 text-center text-xs text-neutral-600",children:["Global mode \xb7"," ",(0,i.jsx)("button",{type:"button",className:"underline hover:text-neutral-400",onClick:()=>{a(null),window.location.reload()},children:"exit"})]}):null}},38318:e=>{e.exports={style:{fontFamily:"'Poppins', 'Poppins Fallback', Georgia, serif",fontStyle:"normal"},className:"__className_cf84ab",variable:"__variable_cf84ab"}},49256:(e,t,r)=>{"use strict";Object.defineProperty(t,"__esModule",{value:!0}),Object.defineProperty(t,"RouterContext",{enumerable:!0,get:function(){return i}});let i=r(62340)._(r(55417)).default.createContext(null)},53255:(e,t,r)=>{"use strict";r.d(t,{A:()=>n});var i=r(35684);let n=(0,i.createServerReference)("7fdbc9ee3897b5ede05d35c8dd66f0134ce457a84d",i.callServer,void 0,i.findSourceMapURL,"detectKeylessEnvDriftAction")},53394:e=>{e.exports={style:{fontFamily:"'Inter', 'Inter Fallback', system-ui, arial, sans-serif",fontStyle:"normal"},className:"__className_d8ebd1",variable:"__variable_d8ebd1"}},53587:(e,t,r)=>{"use strict";r.d(t,{default:()=>a});var i=r(10221),n=r(55419),s=r(3702);r(9161);var o=r(71684);let a=()=>(0,i.jsx)(n.N9,{position:"bottom-right",autoClose:2e3,hideProgressBar:!0,newestOnTop:!1,closeOnClick:!0,pauseOnFocusLoss:!0,theme:"dark",transition:n.br,toastClassName:"rounded-[100px]! pl-4! items-center",closeButton:e=>(0,i.jsx)(s.$,{variant:"ghost",className:"hover:bg-transparent",leftIcon:(0,i.jsx)(o.P.navigation.close,{className:"w-4 h-4"}),onClick:e.closeToast})})},58222:(e,t,r)=>{"use strict";r.d(t,{y:()=>n});var i=r(35684);let n=(0,i.createServerReference)("7fa02f99214f6e0314c219d788038a688f6113b9cf",i.callServer,void 0,i.findSourceMapURL,"invalidateCacheAction")},71833:(e,t,r)=>{"use strict";r.d(t,{PreloadResources:()=>n});var i=r(10221);function n(){return(0,i.jsxs)(i.Fragment,{children:[(0,i.jsx)("link",{rel:"preconnect",href:"https://cdn.furnzy.com",crossOrigin:"anonymous"}),(0,i.jsx)("link",{rel:"preconnect",href:"https://images.furnzy.com",crossOrigin:"anonymous"}),(0,i.jsx)("link",{rel:"dns-prefetch",href:"https://cdn.furnzy.com"}),(0,i.jsx)("link",{rel:"dns-prefetch",href:"https://images.furnzy.com"}),(0,i.jsx)("link",{rel:"preconnect",href:"https://fonts.googleapis.com",crossOrigin:"anonymous"}),(0,i.jsx)("link",{rel:"preconnect",href:"https://fonts.gstatic.com",crossOrigin:"anonymous"})]})}},93239:(e,t,r)=>{Promise.resolve().then(r.bind(r,74199)),Promise.resolve().then(r.bind(r,41995)),Promise.resolve().then(r.bind(r,23600)),Promise.resolve().then(r.bind(r,19703)),Promise.resolve().then(r.bind(r,72691)),Promise.resolve().then(r.bind(r,87822)),Promise.resolve().then(r.bind(r,95547)),Promise.resolve().then(r.bind(r,21767)),Promise.resolve().then(r.bind(r,8170)),Promise.resolve().then(r.bind(r,6722)),Promise.resolve().then(r.t.bind(r,44829,23)),Promise.resolve().then(r.t.bind(r,3768,23)),Promise.resolve().then(r.t.bind(r,53394,23)),Promise.resolve().then(r.t.bind(r,38318,23)),Promise.resolve().then(r.bind(r,71833)),Promise.resolve().then(r.bind(r,13345)),Promise.resolve().then(r.bind(r,11557)),Promise.resolve().then(r.bind(r,53587)),Promise.resolve().then(r.bind(r,80)),Promise.resolve().then(r.t.bind(r,942,23))}},e=>{e.O(0,[7644,4891,2363,4829,7545,6028,5472,5153,6626,7275,7948,1185,9332,8323,7358],()=>e(e.s=93239)),_N_E=e.O()}]);

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.