PageSourceSearch

https://greennv.com/_next/static/chunks/app/(frontend)/categories/…?dpl=dpl_2QsvgkTiAbfqWyQWUmFu8Xy9eeMq

js greennv.com collected 2026-10-05 06:11:08 UTC 13,445 bytes, 1 lines download raw bytes

1!function(){try{var t="u">typeof window?window:"u">typeof global?global:"u">typeof globalThis?globalThis:"u">typeof self?self:{};t._sentryModuleMetadata=t._sentryModuleMetadata||{},t._sentryModuleMetadata[(new t.Error).stack]=function(t){for(var e=1;e<arguments.length;e++){var i=arguments[e];if(null!=i)for(var n in i)i.hasOwnProperty(n)&&(t[n]=i[n])}return t}({},t._sentryModuleMetadata[(new t.Error).stack],{"_sentryBundlerPluginAppKey:green-payload":!0});var e=(new t.Error).stack;e&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[e]="508c09c3-3320-4e43-8dab-9e0cfc256c6e",t._sentryDebugIdIdentifier="sentry-dbid-508c09c3-3320-4e43-8dab-9e0cfc256c6e")}catch(t){}}(),(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2667],{359:(t,e,i)=>{"use strict";i.d(e,{WebHaptics:()=>n.b});var n=i(93287)},26238:(t,e,i)=>{"use strict";i.d(e,{RefreshOnSave:()=>s});var n=i(99193),r=i(60243),a=i(33801);function s(){let t=(0,a.useRouter)(),e=window.location.origin;return(0,n.jsx)(r.p,{refresh:()=>t.refresh(),serverURL:e})}},33207:(t,e,i)=>{"use strict";i.d(e,{Z:()=>o});var n=i(99193),r=i(3172),a=i.n(r);let s=/^(?:\/stores|\/checkout|\/oauth|\/pay|\/kiosks)(?:[/?#]|$)/;function o({href:t,children:e,...i}){return/^https?:\/\//.test(t)||s.test(t)?(0,n.jsx)("a",{href:t,...i,children:e}):(0,n.jsx)(a(),{href:t,...i,children:e})}},33801:(t,e,i)=>{"use strict";var n=i(90549);i.o(n,"useParams")&&i.d(e,{useParams:function(){return n.useParams}}),i.o(n,"usePathname")&&i.d(e,{usePathname:function(){return n.usePathname}}),i.o(n,"useRouter")&&i.d(e,{useRouter:function(){return n.useRouter}}),i.o(n,"useSearchParams")&&i.d(e,{useSearchParams:function(){return n.useSearchParams}})},49068:(t,e,i)=>{"use strict";i.d(e,{F4:()=>o,Je:()=>s,QT:()=>l,UH:()=>u,aM:()=>h,eZ:()=>d,n9:()=>a,p4:()=>r});let n=t=>`/stores/${t.replace(/^\/+|\/+$/g,"")}`,r=t=>{let e=t?.trim();return e?n(e):null},a=t=>{let e=t?.trim();return e?`${n(e)}/specials`:null},s=(t,e)=>{let i,r=t?.trim();if(!r)return null;let a=(i=e,(i.menuSlug?.trim()||i.slug).replace(/^\/+|\/+$/g,""));return a?`${n(r)}/products/${a}`:null},o="/categories",u=(t,{shopHref:e,dealsHref:i})=>{let n="/specials"===t||"/deals"===t;if(!("/shop"===t||n))return{href:t,isStoreLink:!1,isSpecials:!1,storeHref:null,needsStorePrompt:!1};let r=n?i:e;return{href:r??o,isStoreLink:!0,isSpecials:n,storeHref:r,needsStorePrompt:!r}},l=(t,e)=>/^\/shop([/?#]|$)/.test(t)?r(e):/^\/(deals|specials)([/?#]|$)/.test(t)?a(e):t,d=(t,e)=>{let i=t?.trim(),r=String(e.id??"").trim();if(!i||!r)return null;let a="OFFER"===e.type?"offer":"sale";return`${n(i)}/specials/${a}/${r}`},h=(t,e)=>{let i=t?.trim();if(!i||!e.cname)return null;let r=Math.min(Math.max(1,Math.floor(e.qty)||1),99),a=encodeURIComponent(e.cname);return`${n(i)}/product/${a}?add=${a}&qty=${r}`}},50432:(t,e,i)=>{"use strict";i.d(e,{Z:()=>a,o:()=>s});var n=i(80576);let r=async t=>{let e=await fetch(t);if(!e.ok)throw Error(`Fetch failed: ${e.status}`);let i=await e.json();if(!Array.isArray(i))throw Error("Unexpected response shape");return i};function a(){let{data:t,error:e,isLoading:i}=(0,n.Ay)("/api/dutchie/retailers",r,{dedupingInterval:6e4});return{retailers:t??[],error:e,isLoading:i}}function s(t){let{data:e,error:i,isLoading:a}=(0,n.Ay)(t?`/api/dutchie/specials?retailerId=${t}`:null,r,{dedupingInterval:6e4});return{specials:e??[],error:i,isLoading:a}}},55713:(t,e,i)=>{Promise.resolve().then(i.t.bind(i,3172,23)),Promise.resolve().then(i.t.bind(i,53573,23)),Promise.resolve().then(i.bind(i,359)),Promise.resolve().then(i.bind(i,26238)),Promise.resolve().then(i.bind(i,84599))},59429:(t,e,i)=>{"use strict";i.d(e,{k:()=>s});var n=i(62641),r=i(75591),a=i(49068);function s(){let{selectedLocation:t}=(0,n.z)(),{open:e}=(0,r.g)(),i=t?.storefrontSlug??null;return{hasSelectedStore:!!t,storefrontSlug:i,shopHref:(0,a.p4)(i),dealsHref:(0,a.n9)(i),categoryHrefFor:t=>(0,a.Je)(i,t),specialHrefFor:t=>(0,a.eZ)(i,t),promptForStore:()=>e()}}},60243:(t,e,i)=>{"use strict";i.d(e,{p:()=>r});var n=i(43853);let r=t=>{let{apiRoute:e,depth:i,refresh:r,serverURL:a}=t,s=(0,n.useRef)(!1),o=(0,n.useCallback)(t=>{t.origin===a&&t.data&&"object"==typeof t.data&&"payload-document-event"===t.data.type&&("function"==typeof r?r():console.error("You must provide a refresh function to `RefreshRouteOnSave`"))},[r,a]);return(0,n.useEffect)(()=>("u">typeof window&&window.addEventListener("message",o),s.current||(s.current=!0,(t=>{let{serverURL:e}=t;if("u">typeof window){let t=window?.opener||window?.parent;t?.postMessage({type:"payload-live-preview",ready:!0},e)}})({serverURL:a}),r()),()=>{"u">typeof window&&window.removeEventListener("message",o)}),[a,o,i,e,r]),null}}
1,62641:(t,e,i)=>{"use strict";i.d(e,{d:()=>u,z:()=>l});var n=i(99193),r=i(43853),a=i(50432),s=i(80157);let o=(0,r.createContext)(null);function u({children:t}){let{retailers:e,error:i,isLoading:l}=(0,a.Z)(),d=(0,s.Ts)(),h=e.find(t=>t.id===d)??null;return(0,r.useEffect)(()=>{if(!l&&!i){if(d&&!h)return void(0,s.S8)();(0,s.Mj)(h?.storefrontSlug)}},[i,l,d,h]),(0,n.jsx)(o.Provider,{value:{locations:e,selectedLocation:h,setSelectedLocation:t=>{(0,s.pM)(t),(0,s.Mj)(e.find(e=>e.id===t)?.storefrontSlug)},isLoading:l},children:t})}function l(){let t=(0,r.useContext)(o);if(!t)throw Error("useLocation must be used within a LocationProvider");return t}},75591:(t,e,i)=>{"use strict";i.d(e,{a:()=>r,g:()=>a});var n=i(43853);let r=(0,n.createContext)(null);function a(){let t=(0,n.useContext)(r);if(!t)throw Error("useLocationModal must be used within a LocationModalProvider");return t}},80157:(t,e,i)=>{"use strict";i.d(e,{S8:()=>y,if:()=>h,pM:()=>p,Mj:()=>m,gE:()=>f,Ts:()=>c});var n=i(87565),r=i(43853);let a="green_selected_location",s="green_storefront_slug",o="green-location-cookie-change";function u(){window.dispatchEvent(new Event(o))}function l(t){let e=()=>t();return window.addEventListener(o,e),window.addEventListener("focus",e),window.addEventListener("pageshow",e),()=>{window.removeEventListener(o,e),window.removeEventListener("focus",e),window.removeEventListener("pageshow",e)}}function d(){let t=(0,n.getCookie)(a);return"string"==typeof t&&t?t:null}function h(){return!!d()}function c(){return(0,r.useSyncExternalStore)(l,d,()=>null)}function f(){return(0,r.useSyncExternalStore)(l,()=>!!d(),()=>!0)}function p(t){(0,n.setCookie)(a,t,{maxAge:259200,path:"/"}),u()}function y(){(0,n.deleteCookie)(a,{path:"/"}),(0,n.deleteCookie)(s,{path:"/"}),u()}function m(t){t?(0,n.setCookie)(s,t,{maxAge:259200,path:"/"}):(0,n.deleteCookie)(s,{path:"/"})}},84599:(t,e,i)=>{"use strict";i.d(e,{StoreCategoryLink:()=>s});var n=i(99193),r=i(33207),a=i(59429);function s({category:t,fallbackHref:e,children:i,onNavigate:o,className:u,...l}){let{categoryHrefFor:d,hasSelectedStore:h,promptForStore:c}=(0,a.k)(),f=d(t);return!f&&/^https?:\/\//.test(e)?(0,n.jsx)("a",{href:e,target:"_blank",rel:"noreferrer",className:u,onClick:()=>o?.(),children:i}):(0,n.jsx)(r.Z,{href:f??e,className:u,onClick:t=>{f||h||(t.preventDefault(),c()),o?.()},...l,children:i})}},93287:(t,e,i)=>{"use strict";i.d(e,{b:()=>a});var n={success:{pattern:[{duration:30,intensity:.5},{delay:60,duration:40,intensity:1}]},warning:{pattern:[{duration:40,intensity:.8},{delay:100,duration:40,intensity:.6}]},error:{pattern:[{duration:40,intensity:.9},{delay:40,duration:40,intensity:.9},{delay:40,duration:40,intensity:.9}]},light:{pattern:[{duration:15,intensity:.4}]},medium:{pattern:[{duration:25,intensity:.7}]},heavy:{pattern:[{duration:35,intensity:1}]},soft:{pattern:[{duration:40,intensity:.5}]},rigid:{pattern:[{duration:10,intensity:1}]},selection:{pattern:[{duration:8,intensity:.3}]},nudge:{pattern:[{duration:80,intensity:.8},{delay:80,duration:50,intensity:.3}]},buzz:{pattern:[{duration:1e3,intensity:1}]}},r=0,a=class t{constructor(t){this.hapticLabel=null,this.domInitialized=!1,this.rafId=null,this.patternResolve=null,this.audioCtx=null,this.audioFilter=null,this.audioGain=null,this.audioBuffer=null,this.instanceId=++r,this.debug=t?.debug??!1,this.showSwitch=t?.showSwitch??!1}static{this.isSupported="u">typeof navigator&&"function"==typeof navigator.vibrate}async trigger(e=[{duration:25,intensity:.7}],i){let r=function(t){if("number"==typeof t)return{vibrations:[{duration:t}]};if("string"==typeof t){let e=n[t];return e?{vibrations:e.pattern.map(t=>({...t}))}:(console.warn(`[web-haptics] Unknown preset: "${t}"`),null)}if(Array.isArray(t)){if(0===t.length)return{vibrations:[]};if("number"==typeof t[0]){let e=[];for(let i=0;i<t.length;i+=2){let n=i>0?t[i-1]:0;e.push({...n>0&&{delay:n},duration:t[i]})}return{vibrations:e}}return{vibrations:t.map(t=>({...t}))}}return{vibrations:t.pattern.map(t=>({...t}))}}(e);if(!r)return;let{vibrations:a}=r;if(0===a.length)return;let s=Math.max(0,Math.min(1,i?.intensity??.5));for(let t of a)if(t.duration>1e3&&(t.duration=1e3),!Number.isFinite(t.duration)||t.duration<0||void 0!==t.delay&&(!Number.isFinite(t.delay)||t.delay<0))return void console.warn("[web-haptics] Invalid vibration values. Durations and delays must be finite non-negative numbers.");if(t.isSupported&&navigator.vibrate(function(t,e){let i=[];for(let n=0;n<t.length;n++){let r=t[n],a=Math.max(0,Math.min(1,r.intensity??e)),s=r.delay??0;s>0&&(i.length>0&&i.length%2==0?i[i.length-1]+=s:(0===i.length&&i.push(0),i.push(s)));let o=function(t,e){if(e>=1)return[t];if(e<=0)return[];let i=Math.max(1,Math.round(20*e)),n=20-i,r=[],a=t;for(;a>=20;)r.push(i),r.push(n),a-=20;if(a>0){let t=Math.max(1,Math.round(a*e));r.push(t);let i=a-t;i>0&&r.push(i)}return r}(r.duration,a);if(0===o.length){i.length>0&&i.length%2==0?i[i.length-1]+=r.duration:r.duration>0&&(i.push(0),i.push(r.duration));continue}for(let t of o)i.push(t)}return i}(a,s)),!t.isSupported||this.debug){if(this.ensureDOM(),!this.hapticLabel)return;this.debug&&await this.ensureAudio(),this.stopPattern();let t=(a[0]?.delay??0)===0;if(t&&(this.hapticLabel.click(),this.debug&&this.audioCtx)){let t=Math.max(0,Math.min(1,a[0].intensity??s));this.playClick(t)}await this.runPattern(a,s,t)}}cancel(){this.stopPattern(),t.isSupported&&navigator.vibrate(0)}destroy(){this.stopPattern(),this.hapticLabel&&(this.hapticLabel.remove(),this.hapticLabel=null,this.domInitialized=!1),this.audioCtx&&(this.audioCtx.close(),this.audioCtx=null,this.audioFilter=null,this.audioGain=null,this.audioBuffer=null)}setDebug(t){this.debug=t,!t&&this.audioCtx&&(this.audioCtx.close(),this.audioCtx=null,this.audioFilter=null,this.audioGain=null,this.audioBuffer=null)}setShowSwitch(t){if(this.showSwitch=t,this.hapticLabel){let e=this.hapticLabel.querySelector("input");this.hapticLabel.style.display=t?"":"none",e&&(e.style.display=t?"":"none")}}stopPattern(){null!==this.rafId&&(cancelAnimationFrame(this.rafId),this.rafId=null),this.patternResolve?.(),this.patternResolve=null}runPattern(t,e,i){return new Promise(n=>{this.patternResolve=n;let r=[],a=0;for(let i of t){let t=Math.max(0,Math.min(1,i.intensity??e)),n=i.delay??0;n>0&&(a+=n,r.push({end:a,isOn:!1,intensity:0})),a+=i.duration,r.push({end:a,isOn:!0,intensity:t})}let s=a,o=0,u=-1,l=t=>{0===o&&(o=t);let e=t-o;if(e>=s){this.rafId=null,this.patternResolve=null,n();return}let a=r[0];for(let t of r)if(e<t.end){a=t;break}if(a.isOn){let e=16+(1-a.intensity)*184;-1===u?(u=t,i||(this.hapticLabel?.click(),this.debug&&this.audioCtx&&this.playClick(a.intensity),i=!0)):t-u>=e&&(this.hapticLabel?.click(),this.debug&&this.audioCtx&&this.playClick(a.intensity),u=t)}this.rafId=requestAnimationFrame(l)};this.rafId=requestAnimationFrame(l)})}playClick(t){if(!this.audioCtx||!this.audioFilter||!this.audioGain||!this.audioBuffer)return;let e=this.audioBuffer.getChannelData(0);for(let t=0;t<e.length;t++)e[t]=(2*Math.random()-1)*Math.exp(-t/25);this.audioGain.gain.value=.5*t;let i=1+(Math.random()-.5)*.3;this.audioFilter.frequency.value=(2e3+2e3*t)*i;let n=this.audioCtx.createBufferSource();n.buffer=this.audioBuffer,n.connect(this.audioFilter),n.onended=()=>n.disconnect(),n.start()}async ensureAudio(){if(!this.audioCtx&&"u">typeof AudioContext){this.audioCtx=new AudioContext,this.audioFilter=this.audioCtx.createBiquadFilter(),this.audioFilter.type="bandpass",this.audioFilter.frequency.value=4e3,this.audioFilter.Q.value=8,this.audioGain=this.audioCtx.createGain(),this.audioFilter.connect(this.audioGain),this.audioGain.connect(this.audioCtx.destination),this.audioBuffer=this.audioCtx.createBuffer(1,.004*this.audioCtx.sampleRate,this.audioCtx.sampleRate);let t=this.audioBuffer.getChannelData(0);for(let e=0;e<t.length;e++)t[e]=(2*Math.random()-1)*Math.exp(-e/25)}this.audioCtx?.state==="suspended"&&await this.audioCtx.resume()}ensureDOM(){if(this.domInitialized||typeof document>"u")return;let t=`web-haptics-${this.instanceId}`,e=document.createElement("label");e.setAttribute("for",t),e.textContent="Haptic feedback",e.style.position="fixed",e.style.bottom="10px",e.style.left="10px",e.style.padding="5px 10px",e.style.backgroundColor="rgba(0, 0, 0, 0.7)",e.style.color="white",e.style.fontFamily="sans-serif",e.style.fontSize="14px",e.style.borderRadius="4px",e.style.zIndex="9999",e.style.userSelect="none",this.hapticLabel=e;let i=document.createElement("input");i.type="checkbox",i.setAttribute("switch",""),i.id=t,i.style.all="initial",i.style.appearance="auto",this.showSwitch||(e.style.display="none",i.style.display="none"),e.appendChild(i),document.body.appendChild(e),this.domInitialized=!0}}}},t=>{t.O(0,[3172,3573,7565,576,7227,496,7358],()=>t(t.s=55713)),_N_E=t.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.