(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[714],{42:()=>{},4102:(e,s,i)=>{"use strict";i.d(s,{Ay:()=>c});var t=i(5155),a=i(2115);function c(e){let{src:s,alt:i,className:c="",size:r="full",isModal:n=!1,loading:l="lazy",onLoad:o,onError:m,onClick:d,style:u,draggable:h=!1,onContextMenu:p,title:g,"aria-label":b,objectFit:k="contain",...y}=e,[f,w]=(0,a.useState)(""),[x,j]=(0,a.useState)(!1),[v,N]=(0,a.useState)(!1),[S,C]=(0,a.useState)(!0);return((0,a.useEffect)(()=>{n||"full"===r?w(s):w(function(e){if(!e||e.startsWith("data:")||e.startsWith("http")||e.includes("/icons/")||e.toLowerCase().endsWith(".gif"))return e;let s=(e.startsWith("/")?e.slice(1):e).split("/"),i=s[s.length-1].replace(/\.[^/.]+$/,""),t=e.toLowerCase();return t.includes(".mp4")||t.includes(".webm")||t.includes(".mov")||t.includes(".avi")?"/thumbnails/".concat(i,".webm"):"/thumbnails/".concat(i,".webp")}(s)),j(!1),N(!1),C(!0)},[s,r,n]),f&&""!==f)?(0,t.jsxs)("div",{className:"optimized-image-container",style:{position:"relative",width:"100%",height:"100%"},children:[S&&"thumbnail"===r&&(0,t.jsx)("div",{className:"image-loading-overlay",children:(0,t.jsx)("div",{className:"image-throbber"})}),(0,t.jsx)("img",{src:f,alt:i,className:"optimized-image ".concat(c," ").concat(v?"loaded":"loading"),loading:l,onLoad:()=>{N(!0),C(!1),o&&o()},onError:()=>{C(!1),x||n||"full"===r?m&&m():(j(!0),w(s),C(!0))},onClick:d,style:{...(()=>{let e={};switch(k){case"cover":default:e.objectFit="cover";break;case"contain":e.objectFit="contain";break;case"align-top":e.objectFit="cover",e.objectPosition="top center";break;case"align-bottom":e.objectFit="cover",e.objectPosition="bottom center";break;case"align-left":e.objectFit="cover",e.objectPosition="left center";break;case"align-right":e.objectFit="cover",e.objectPosition="right center";break;case"align-centre":e.objectFit="cover",e.objectPosition="center center"}return e})(),...u,opacity:+!!v,transition:"opacity 0.3s ease-in-out"},draggable:h,onContextMenu:p,title:g,"aria-label":b,...y})]}):null}},5504:(e,s,i)=>{Promise.resolve().then(i.bind(i,9236))},9236:(e,s,i)=>{"use strict";i.r(s),i.d(s,{default:()=>r});var t=i(5155),a=i(2115),c=i(4102);function r(){let[e,s]=(0,a.useState)(null),[i,r]=(0,a.useState)([]),[n,l]=(0,a.useState)(!1),[o,m]=(0,a.useState)("featured"),[d,u]=(0,a.useState)(null),[h,p]=(0,a.useState)(!1),[g,b]=(0,a.useState)(0),[k,y]=(0,a.useState)(new Set(["stickers","plushies","pins","pin-sets","toys","standees"])),[f,w]=(0,a.useState)(!0),x=["stickers","plushies","pins","pin-sets","toys","standees"],j=e=>{let s=new Set(k);s.has(e)?s.delete(e):s.add(e),y(s),w(x.every(e=>s.has(e)))},v=[...[{id:"thumbs-up-sticker",name:"Thumbs Up ! Sticker",price:8,description:"Positive vibes only! These cheerful thumbs up stickers spread good energy wherever they go.",image:"/images/merch/stickers/sticker_thumbs-up.webp",images:["/images/merch/stickers/sticker_thumbs-up.webp","/images/merch/bottle-sticker-thumbsup.webp"],category:"stickers"},{id:"yuu-sticker",name:"Yuu Sticker",price:8,description:"",image:"/images/merch/stickers/sticker_yuu.webp",images:["/images/merch/stickers/sticker_yuu.webp","/images/merch/bottle-sticker-yuu.webp"],category:"stickers"},{id:"twilight-sticker",name:"Twilight Sticker",price:8,description:"",image:"/images/merch/stickers/sticker_twilight.webp",images:["/images/merch/stickers/sticker_twilight.webp","/images/merch/bottle-sticker-twilight.webp"],category:"stickers"},{id:"bee-sticker",name:"Bee Sticker",price:8,description:"",image:"/images/merch/stickers/sticker_bee.webp",images:["/images/merch/stickers/sticker_bee.webp","/images/merch/bottle-sticker-bee.webp"],category:"stickers"},{id:"pixelyuu-sticker",name:"Pixel Yuu Sticker",price:8,description:"",image:"/images/merch/stickers/sticker_pixelyuu.webp",images:["/images/merch/stickers/sticker_pixelyuu.webp","/images/merch/bottle-sticker-pixelyuu.webp"],category:"stickers"},{id:"smartyuu-sticker",name:"Smart Yuu Sticker",price:8,description:"",image:"/images/merch/stickers/sticker_smart-yuu.webp",images:["/images/merch/stickers/sticker_smart-yuu.webp","/images/merch/bottle-sticker-smartyuu.webp"],category:"stickers"},{id:"yuucoin-stickers",name:"Yuu Coins Stickers 4 Pack",price:8,description:"",image:"/images/merch/stickers/sticker_yuucoins.webp",images:["/images/merch/stickers/sticker_yuucoins.webp","/images/merch/stickers/sticker_yuucoin-platinum.webp","/images/merch/stickers/sticker_yuucoin-gold.webp","/images/merch/stickers/sticker_yuucoin-silver.webp","/images/merch/stickers/sticker_yuucoin-bronze.webp","/images/merch/bottle-sticker-yuucoins.webp"],category:"stickers"},{id:"espirii-stickers",name:"Espi & Rii Stickers 4 Pack",price:8,description:"",image:"/images/merch/stickers/sticker_espirii.webp",images:["/images/merch/stickers/sticker_espirii.webp","/images/merch/stickers/sticker_espirii1.webp","/images/merch/stickers/sticker_espirii2.webp","/images/merch/stickers/sticker_espirii3.webp","/images/merch/stickers/sticker_espirii4.webp"],category:"stickers"},{id:"yuu-plushie",name:'Yuu Plushie 10"',price:35,description:"The most huggable Yuu plushie! Super soft and squishy, perfect for cuddles and adventures.",image:"/images/merch/comingsoon.webp",category:"plushies"},{id:"yuu-fish-plushie",name:'Yuu (Fish Form) Plushie 11"',price:35,description:"The most huggable Yuu plushie! Super soft and squishy, perfect for cuddles and adventures.",image:"/images/merch/Fish-Rotate-6.webp",images:["/images/merch/Fish-Rotate-6.webp","/images/merch/Fish-Rotate-4.webp","/images/yuu-fish-spinny.gif"],category:"plushies"},{id:"twilight-plushie",name:'Twilight Plushie 10"',price:37,description:"Gruff but loveable Twilight dragon plushie! Complete with his signature shield and monk staff details.",image:"/images/merch/comingsoon.webp",category:"plushies"},{id:"espi-rii-plushie-set",name:'Espi & Rii Dual Plushie Set 10"',price:65,description:"The dynamic duo! These inseparable best friends come together in an adorable matching plushie set.",image:"/images/merch/plush-espirii.webp",category:"plushies"},{id:"smart-yuu-pin",name:"Smart Yuu Pin",price:13,description:"Intellectual Yuu pin with glasses! Perfect for showing off your brainy side.",image:"/images/merch/smartyuupin.webp",category:"pins"},{id:"espi-rii-pin-set",name:"Espi & Rii Dual Pin Set",price:23,description:"Best friends stick together! This matching pin set celebrates the unbreakable bond of Espi & Rii.",image:"/images/merch/plush-espirii.webp",category:"pin-sets"},{id:"yuu-ball-stress-toy",name:"Yuu Ball Stress Toy",price:17,description:"Squishy Yuu stress ball! Perfect for relieving stress while getting comfort from your favorite character.",image:"/images/merch/comingsoon.webp",category:"toys"},{id:"yuu-standee",name:'Yuu Standee 6"',price:35,description:"The most huggable Yuu plushie! Super soft and squishy, perfect for cuddles and adventures.",image:"/images/merch/standee-yuu.webp",images:["/images/merch/standee-yuu.webp","/images/merch/desk-standee-yuu.webp"],category:"standees"},{id:"twilight-standee",name:'Twilight Standee 6"',price:37,description:"Gruff but loveable Twilight dragon plushie! Complete with his signature shield and monk staff details.",image:"/images/merch/standee-twilight.webp",images:["/images/merch/standee-twilight.webp","/images/merch/desk-standee-twilight.webp"],category:"standees"},{id:"cindred-standee",name:'Cindred Standee 6"',price:38,description:"Mysterious and magical Cindred plushie! Soft, cuddly, and full of adventure party energy.",image:"/images/merch/comingsoon.webp",category:"standees"},{id:"bee-standee",name:'Bee Standee 6"',price:65,description:"",image:"/images/merch/standee-bee.webp",images:["/images/merch/standee-bee.webp","/images/merch/desk-standee-bee.webp"],category:"standees"}].filter(e=>k.has(e.category))].sort((e,s)=>{switch(o){case"name-asc":return e.name.localeCompare(s.name);case"name-desc":return s.name.localeCompare(e.name);case"price-asc":return e.price-s.price;case"price-desc":return s.price-e.price;default:return 0}}),N=[];for(let e=0;e{r(s=>s.find(s=>s.id===e.id)?s.map(s=>s.id===e.id?{...s,quantity:s.quantity+1}:s):[...s,{...e,quantity:1}])},C=()=>i.reduce((e,s)=>e+s.quantity,0),_=e=>e.images&&e.images.length>0?e.images:[e.image],P=(e,s)=>{let i=_(s);b(s=>"next"===e?(s+1)%i.length:0===s?i.length-1:s-1)},F=e=>{s(e),b(0)};return(0,a.useEffect)(()=>(document.body.classList.add("classic-storefront-page"),()=>{document.body.classList.remove("classic-storefront-page")}),[]),(0,a.useEffect)(()=>{let e=e=>{let s=e.target;h&&!s.closest(".filter-dropdown")&&p(!1)};return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[h]),(0,t.jsxs)("div",{className:"classic-storefront-page navbar-spaced",children:[(0,t.jsxs)("div",{className:"storefront-header",children:[(0,t.jsx)("h1",{className:"storefront-title",children:"(mockup) merch shop!"}),(0,t.jsx)("p",{className:"storefront-subtitle",children:"cute stuff of my cute characters !"}),(0,t.jsx)("div",{className:"awning-container",children:(0,t.jsx)("div",{className:"awning"})})]}),(0,t.jsxs)("div",{className:"store-controls",children:[(0,t.jsxs)("div",{className:"sort-controls",children:[(0,t.jsx)("span",{className:"sort-label",children:"Sort by:"}),(0,t.jsxs)("select",{value:o,onChange:e=>m(e.target.value),className:"sort-select",children:[(0,t.jsx)("option",{value:"featured",children:"Featured"}),(0,t.jsx)("option",{value:"name-asc",children:"Name A-Z"}),(0,t.jsx)("option",{value:"name-desc",children:"Name Z-A"}),(0,t.jsx)("option",{value:"price-asc",children:"Price Low-High"}),(0,t.jsx)("option",{value:"price-desc",children:"Price High-Low"})]})]}),(0,t.jsxs)("div",{className:"filter-controls",children:[(0,t.jsx)("span",{className:"filter-label",children:"Filter by type:"}),(0,t.jsxs)("div",{className:"filter-dropdown",children:[(0,t.jsxs)("button",{className:"filter-select",onClick:()=>p(!h),children:[f?"All Categories":"".concat(k.size," Selected"),(0,t.jsx)("span",{style:{marginLeft:"8px"},children:"▼"})]}),h&&(0,t.jsxs)("div",{className:"filter-dropdown-content",children:[(0,t.jsxs)("div",{className:"filter-option",onClick:()=>{f?(y(new Set),w(!1)):(y(new Set(x)),w(!0))},children:[(0,t.jsx)("input",{type:"checkbox",checked:f,onChange:()=>{},className:"filter-checkbox"}),(0,t.jsx)("span",{className:"filter-option-label",children:"All"})]}),x.map(e=>(0,t.jsxs)("div",{className:"filter-option",onClick:()=>j(e),children:[(0,t.jsx)("input",{type:"checkbox",checked:k.has(e),onChange:()=>{},className:"filter-checkbox"}),(0,t.jsx)("span",{className:"filter-option-label",children:e})]},e))]})]})]}),(0,t.jsx)("div",{className:"cart-info",children:(0,t.jsxs)("button",{onClick:()=>l(!n),className:"cart-button",children:[(0,t.jsx)("img",{src:"/images/icons/merch/cart-64px.png",alt:"Cart",className:"cart-icon"}),"Cart",C()>0&&(0,t.jsx)("span",{className:"cart-count",children:C()})]})})]}),(0,t.jsx)("div",{className:"shelving-container",children:0===v.length?(0,t.jsxs)("div",{className:"no-items-message",children:[(0,t.jsx)("h2",{className:"no-items-title",children:"no items found!"}),(0,t.jsx)("p",{className:"no-items-subtitle",children:"try adjusting your filters to see more cute stuff!"})]}):N.map((e,s)=>(0,t.jsxs)("div",{className:"shelf",children:[(0,t.jsx)("div",{className:"shelf-items",children:e.map(e=>(0,t.jsxs)("div",{className:"merch-item",onClick:()=>F(e),onMouseEnter:()=>u(e.id),onMouseLeave:()=>u(null),children:[(0,t.jsx)(c.Ay,{src:d===e.id&&e.hoverImage?e.hoverImage:e.image,alt:e.name,className:"merch-item-image",size:"thumbnail",loading:"lazy",draggable:!1,onContextMenu:e=>e.preventDefault()}),(0,t.jsxs)("div",{className:"merch-item-price",children:["$",e.price]}),(0,t.jsx)("div",{className:"merch-item-name",children:e.name}),(0,t.jsxs)("button",{onClick:s=>{s.stopPropagation(),S(e)},className:"add-to-cart-btn",children:[(0,t.jsx)("img",{src:"/images/icons/merch/add-to-cart-64px.png",alt:"Add to cart",className:"add-to-cart-icon"}),"Add to Cart"]})]},e.id))}),(0,t.jsx)("div",{className:"shelf-surface"})]},s))}),e&&(0,t.jsx)("div",{className:"modal-overlay",onClick:()=>s(null),children:(0,t.jsxs)("div",{className:"item-modal",onClick:e=>e.stopPropagation(),children:[(0,t.jsx)("button",{className:"modal-close",onClick:()=>s(null),children:"\xd7"}),(0,t.jsx)("div",{className:"modal-image-carousel",children:(()=>{let s=_(e),i=s.length>1;return(0,t.jsxs)(t.Fragment,{children:[i&&(0,t.jsx)("button",{className:"carousel-arrow carousel-arrow-left",onClick:()=>P("prev",e),children:"‹"}),(0,t.jsx)(c.Ay,{src:s[g],alt:e.name,className:"modal-image",size:"full",loading:"lazy",draggable:!1,onContextMenu:e=>e.preventDefault()}),i&&(0,t.jsx)("button",{className:"carousel-arrow carousel-arrow-right",onClick:()=>P("next",e),children:"›"}),i&&(0,t.jsx)("div",{className:"carousel-indicators",children:s.map((e,s)=>(0,t.jsx)("button",{className:"carousel-indicator ".concat(s===g?"active":""),onClick:()=>b(s)},s))})]})})()}),(0,t.jsx)("h2",{className:"modal-title",children:e.name}),(0,t.jsx)("p",{className:"modal-description",children:e.description}),(0,t.jsxs)("div",{className:"modal-price",children:["$",e.price]}),(0,t.jsxs)("button",{onClick:()=>{S(e),s(null)},className:"modal-add-to-cart",children:[(0,t.jsx)("img",{src:"/images/icons/merch/add-to-cart-64px.png",alt:"Add to cart",className:"add-to-cart-icon"}),"Add to Cart"]})]})}),(0,t.jsxs)("div",{className:"cart-receipt ".concat(n?"open":""),children:[(0,t.jsxs)("div",{className:"cart-receipt-header",children:[(0,t.jsx)("div",{className:"cart-receipt-title",children:"Shopping Cart"}),(0,t.jsx)("button",{className:"cart-receipt-close",onClick:()=>l(!1),children:"\xd7"})]}),0===i.length?(0,t.jsx)("p",{children:"Your cart is empty!"}):(0,t.jsxs)(t.Fragment,{children:[i.map(e=>(0,t.jsxs)("div",{className:"cart-item",children:[(0,t.jsxs)("div",{className:"cart-item-info",children:[(0,t.jsx)("div",{className:"cart-item-name",children:e.name}),(0,t.jsxs)("div",{className:"cart-item-quantity",children:["Qty: ",e.quantity]})]}),(0,t.jsxs)("div",{className:"cart-item-price",children:["$",e.price*e.quantity]})]},e.id)),(0,t.jsxs)("div",{className:"cart-total",children:[(0,t.jsx)("div",{className:"cart-total-text",children:"Total:"}),(0,t.jsxs)("div",{className:"cart-total-amount",children:["$",i.reduce((e,s)=>e+s.price*s.quantity,0)]})]})]})]})]})}i(42)}},e=>{var s=s=>e(e.s=s);e.O(0,[299,441,684,358],()=>s(5504)),_N_E=e.O()}]);