1 line
12 KiB
JavaScript
1 line
12 KiB
JavaScript
"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[9135],{38997:(e,t,i)=>{i.d(t,{y:()=>s});var r=i(95155);i(12115);let s=e=>{let{children:t,gradient:i="default",as:s="span",className:n=""}=e;return(0,r.jsx)(s,{className:"".concat("cool"===i?"bg-gradient-cool":"vibrant"===i?"bg-gradient-vibrant":"bg-gradient-text"," text-gradient ").concat(n),children:t})}},76468:(e,t,i)=>{i.d(t,{B:()=>g});var r=i(95155),s=i(12115),n=i(6874),a=i.n(n),l=i(66766),o=i(35695),c=i(46896),d=i(37281),h=i(60760),x=i(51457),u=i(38997),p=i(8777),b=i.n(p);function g(e){var t;let{translations:i,locale:n}=e,[p,g]=(0,s.useState)(!1),[v,m]=(0,s.useState)(null),{user:j,signOut:w,role:f}=(0,x.A)(),y=(0,o.useRouter)(),k=(0,s.useRef)(null),N=(0,s.useRef)(null),C=(0,c.E)(),L={type:"spring",stiffness:300,damping:30,mass:.8},E={type:"spring",stiffness:200,damping:25,mass:.7};(0,s.useEffect)(()=>{function e(e){k.current&&!k.current.contains(e.target)&&g(!1)}return document.addEventListener("mousedown",e),()=>{document.removeEventListener("mousedown",e)}},[]),(0,s.useEffect)(()=>{p?C.start("visible"):C.start("hidden")},[p,C]);let H=async()=>{N.current?(N.current.style.transition="all 0.2s ease",N.current.style.backgroundColor="rgba(255, 59, 48, 0.2)",setTimeout(async()=>{await w(),g(!1),y.refresh()},150)):(await w(),g(!1),y.refresh())},M={hidden:{opacity:0,y:-10,scale:.95,transformOrigin:"top right",transition:{...L,staggerChildren:.05,staggerDirection:-1,duration:.2}},visible:{opacity:1,y:0,scale:1,transformOrigin:"top right",transition:{...L,staggerChildren:.05,delayChildren:.05,duration:.3}}},P={hidden:{opacity:0,y:-5,transition:{...E,duration:.2}},visible:{opacity:1,y:0,transition:{...E,duration:.3}}},B=(0,s.useRef)("user-dropdown-".concat(n)).current,T=[{href:"/".concat(n,"/account"),label:i.account,icon:(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"12",cy:"7",r:"4"})]})},{href:"/".concat(n,"/account/wishlist"),label:i.wishlist,icon:(0,r.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M20.84 4.61a5.5 5.5 0 0 0-7.78 0L12 5.67l-1.06-1.06a5.5 5.5 0 0 0-7.78 7.78l1.06 1.06L12 21.23l7.78-7.78 1.06-1.06a5.5 5.5 0 0 0 0-7.78z"})})},{href:"/".concat(n,"/account/orders"),label:i.orders,icon:(0,r.jsx)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:(0,r.jsx)("path",{d:"M16 11V7a4 4 0 00-8 0v4M5 9h14l1 12H4L5 9z"})})}],W=[{href:"/".concat(n,"/login"),label:i.login,icon:(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M15 3h4a2 2 0 0 1 2 2v14a2 2 0 0 1-2 2h-4"}),(0,r.jsx)("polyline",{points:"10 17 15 12 10 7"}),(0,r.jsx)("line",{x1:"15",y1:"12",x2:"3",y2:"12"})]})},{href:"/".concat(n,"/signup"),label:i.signup,icon:(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M16 21v-2a4 4 0 0 0-4-4H5a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"8.5",cy:"7",r:"4"}),(0,r.jsx)("line",{x1:"20",y1:"8",x2:"20",y2:"14"}),(0,r.jsx)("line",{x1:"23",y1:"11",x2:"17",y2:"11"})]})}];return(0,r.jsxs)("div",{className:"relative",ref:k,children:[(0,r.jsxs)(d.P.button,{ref:N,onClick:()=>g(!p),className:"flex items-center justify-center w-10 h-10 rounded-full bg-glass-bg-light backdrop-blur-xl border border-glass-border text-white focus:outline-hidden focus:ring-2 focus:ring-electric-blue/30 transition-all hover:bg-glass-bg-light hover:border-electric-blue/20","aria-label":j?"User menu":"Login","aria-expanded":p,"aria-haspopup":"menu","aria-controls":B,initial:"initial",whileHover:"hover",whileTap:"tap",variants:{initial:{scale:1},hover:{scale:1.05,transition:E},tap:{scale:.98,transition:{type:"spring",stiffness:400,damping:40,mass:.6}}},style:{boxShadow:"0 4px 15px rgba(0, 0, 0, 0.1), 0 1px 2px rgba(0, 127, 255, 0.1)"},children:[(0,r.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",className:"w-5 h-5 text-electric-blue/90",children:[(0,r.jsx)("path",{d:"M20 21v-2a4 4 0 0 0-4-4H8a4 4 0 0 0-4 4v2"}),(0,r.jsx)("circle",{cx:"12",cy:"7",r:"4"})]}),(0,r.jsxs)("div",{className:"absolute inset-0 rounded-full overflow-hidden",children:[(0,r.jsx)("div",{className:"absolute inset-0 opacity-0 hover:opacity-20 bg-electric-blue/20 transition-opacity duration-300"}),(0,r.jsx)("div",{className:"absolute inset-x-0 top-0 h-[1px] bg-white/10 rounded-t-full"})]})]}),(0,r.jsx)(h.N,{children:p&&(0,r.jsxs)(d.P.div,{id:B,className:"absolute right-0 mt-2 w-56 rounded-xl overflow-hidden z-50",initial:"hidden",animate:C,exit:"hidden",variants:M,style:{willChange:"transform, opacity",backdropFilter:"blur(20px)",WebkitBackdropFilter:"blur(20px)",background:"rgba(10, 10, 15, 0.5)",border:"1px solid rgba(255, 255, 255, 0.1)",boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 127, 255, 0.2)"},children:[(0,r.jsxs)("div",{className:"absolute inset-0 rounded-xl z-0 overflow-hidden bg-glass-bg border border-glass-border",style:{boxShadow:"0 10px 25px -5px rgba(0, 0, 0, 0.3), 0 0 10px rgba(0, 127, 255, 0.2)"},children:[(0,r.jsx)("div",{className:"absolute inset-x-0 top-0 h-[1px] bg-white/10 rounded-t-xl"}),(0,r.jsx)("div",{className:"absolute inset-x-0 bottom-0 h-[1px] bg-black/20 rounded-b-xl"}),(0,r.jsx)("div",{className:"absolute inset-0 z-0 opacity-30 pointer-events-none rounded-xl",style:{background:"linear-gradient(to bottom, rgba(255,255,255,0.05) 0%, transparent 100%)"}}),(0,r.jsx)("div",{className:"absolute inset-0 opacity-[0.02] rounded-xl",style:{backgroundImage:"url(\"data:image/svg+xml,%3Csvg viewBox='0 0 200 200' xmlns='http://www.w3.org/2000/svg'%3E%3Cfilter id='noiseFilter'%3E%3CfeTurbulence type='fractalNoise' baseFrequency='0.65' numOctaves='3' stitchTiles='stitch'/%3E%3C/filter%3E%3Crect width='100%25' height='100%25' filter='url(%23noiseFilter)'/%3E%3C/svg%3E\")"}})]}),(0,r.jsxs)("div",{className:"py-2 relative z-10",children:[j&&(0,r.jsx)("div",{className:"px-4 py-3 border-b border-white/10",children:(0,r.jsxs)("div",{className:"flex items-center space-x-3",children:[(0,r.jsx)(d.P.div,{className:"flex-shrink-0 h-10 w-10 rounded-full overflow-hidden border border-electric-blue/30",whileHover:{scale:1.05},transition:E,children:j.email?(0,r.jsx)(l.default,{src:(e=>{let t=b().createHash("md5").update(e.toLowerCase().trim()).digest("hex");return"https://www.gravatar.com/avatar/".concat(t,"?d=identicon&s=80")})(j.email),alt:"User avatar",width:40,height:40,className:"h-10 w-10 object-cover"}):(0,r.jsx)("div",{className:"h-10 w-10 bg-electric-blue/20 flex items-center justify-center",children:(0,r.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"h-6 w-6 text-electric-blue",viewBox:"0 0 20 20",fill:"currentColor",children:(0,r.jsx)("path",{fillRule:"evenodd",d:"M10 9a3 3 0 100-6 3 3 0 000 6zm-7 9a7 7 0 1114 0H3z",clipRule:"evenodd"})})})}),(0,r.jsxs)("div",{className:"flex-1 min-w-0",children:[(0,r.jsx)("p",{className:"text-sm font-medium text-white truncate",children:(0,r.jsx)(u.y,{gradient:"vibrant",children:(null===(t=j.email)||void 0===t?void 0:t.split("@")[0])||"User"})}),(0,r.jsx)("p",{className:"text-xs text-white/60 truncate",children:j.email})]})]})}),j?(0,r.jsxs)(r.Fragment,{children:[(0,r.jsxs)("div",{className:"px-1 py-1",children:[T.map((e,t)=>(0,r.jsx)(d.P.div,{variants:P,children:(0,r.jsx)(d.P.div,{whileHover:{x:2},whileTap:{scale:.98},transition:E,children:(0,r.jsxs)(a(),{href:e.href,className:"flex items-center px-3 py-2 rounded-lg text-sm text-white hover:bg-glass-bg-light hover:text-electric-blue transition-all duration-200 relative",onClick:()=>g(!1),onMouseEnter:()=>m(t),onMouseLeave:()=>m(null),children:[(0,r.jsx)("span",{className:"mr-3 text-electric-blue/80",children:e.icon}),(0,r.jsx)("span",{children:e.label}),v===t&&(0,r.jsx)(d.P.span,{className:"absolute inset-0 bg-electric-blue/5 rounded-lg",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2}})]})})},e.href)),j&&"admin"===f&&(0,r.jsx)(d.P.div,{variants:P,children:(0,r.jsx)(d.P.div,{whileHover:{x:2},whileTap:{scale:.98},transition:E,children:(0,r.jsxs)(a(),{href:"/".concat(n,"/admin"),className:"flex items-center px-3 py-2 rounded-lg text-sm text-white hover:bg-glass-bg-light hover:text-electric-blue transition-all duration-200 relative",onClick:()=>g(!1),onMouseEnter:()=>m(99),onMouseLeave:()=>m(null),children:[(0,r.jsx)("span",{className:"mr-3 text-electric-blue/80",children:(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("rect",{x:"3",y:"3",width:"18",height:"18",rx:"2",ry:"2"}),(0,r.jsx)("line",{x1:"3",y1:"9",x2:"21",y2:"9"}),(0,r.jsx)("line",{x1:"9",y1:"21",x2:"9",y2:"9"})]})}),(0,r.jsx)("span",{children:"Admin"}),99===v&&(0,r.jsx)(d.P.span,{className:"absolute inset-0 bg-electric-blue/5 rounded-lg",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2}})]})})},"admin-link")]}),(0,r.jsx)("div",{className:"border-t border-white/10 my-1"}),(0,r.jsx)("div",{className:"px-1 py-1",children:(0,r.jsx)(d.P.div,{variants:P,children:(0,r.jsx)(d.P.div,{whileHover:{x:2},whileTap:{scale:.98},transition:E,children:(0,r.jsxs)("button",{onClick:H,className:"flex items-center w-full px-3 py-2 rounded-lg text-sm text-white hover:bg-red-500/10 hover:text-red-400 transition-all duration-200 cursor-pointer",children:[(0,r.jsx)("span",{className:"mr-3 text-red-400/80",children:(0,r.jsxs)("svg",{width:"16",height:"16",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:"2",strokeLinecap:"round",strokeLinejoin:"round",children:[(0,r.jsx)("path",{d:"M9 21H5a2 2 0 0 1-2-2V5a2 2 0 0 1 2-2h4"}),(0,r.jsx)("polyline",{points:"16 17 21 12 16 7"}),(0,r.jsx)("line",{x1:"21",y1:"12",x2:"9",y2:"12"})]})}),(0,r.jsx)("span",{children:i.logout})]})})})})]}):(0,r.jsx)("div",{className:"px-1 py-1",children:W.map((e,t)=>(0,r.jsx)(d.P.div,{variants:P,children:(0,r.jsx)(d.P.div,{whileHover:{x:2},whileTap:{scale:.98},transition:E,children:(0,r.jsxs)(a(),{href:e.href,className:"flex items-center px-3 py-2 rounded-lg text-sm text-white hover:bg-glass-bg-light hover:text-electric-blue transition-all duration-200 relative",onClick:()=>g(!1),onMouseEnter:()=>m(t),onMouseLeave:()=>m(null),children:[(0,r.jsx)("span",{className:"mr-3 text-electric-blue/80",children:e.icon}),(0,r.jsx)("span",{children:e.label}),v===t&&(0,r.jsx)(d.P.span,{className:"absolute inset-0 bg-electric-blue/5 rounded-lg",initial:{opacity:0},animate:{opacity:1},transition:{duration:.2}})]})})},e.href))})]})]})})]})}},91202:(e,t,i)=>{i.d(t,{Card:()=>n,CardContent:()=>a,CardHeader:()=>l});var r=i(95155);i(12115);var s=i(37281);function n(e){let{className:t="",hover:i=!1,variant:n="default",glowOnHover:a=!1,children:l,...o}=e,c="overflow-visible ".concat({default:"bg-[#050508] rounded-xl shadow-xs",glass:"glass-effect backdrop-blur-glass border border-glass-border rounded-xl",dark:"bg-dark-800 rounded-xl border border-dark-700 shadow-lg"}[n]," ").concat(t," ").concat(i?"cursor-pointer":"");return(0,r.jsx)(s.P.div,{className:c,...i?{whileHover:{scale:1.03,y:-5},transition:{type:"spring",stiffness:150,damping:15},whileTap:{scale:1.01}}:{},...o,onClick:i?e=>{o.onClick&&o.onClick(e)}:o.onClick,role:i&&!o.role?"button":o.role,tabIndex:i&&void 0===o.tabIndex?0:o.tabIndex,children:l})}function a(e){let{className:t="",children:i}=e;return(0,r.jsx)("div",{className:"p-6 overflow-visible ".concat(t),children:i})}function l(e){let{className:t="",children:i}=e;return(0,r.jsx)("div",{className:"px-6 py-4 border-b border-white/5 ".concat(t),children:i})}}}]); |