PageSourceSearch

https://plypicker.com/_next/static/chunks/179-933bda63e0cdf523.js

js plypicker.com collected 2026-10-05 11:32:14 UTC 15,279 bytes, 1 lines download raw bytes

1!function(){try{var e="undefined"!=typeof window?window:"undefined"!=typeof global?global:"undefined"!=typeof globalThis?globalThis:"undefined"!=typeof self?self:{},t=(new e.Error).stack;t&&(e._sentryDebugIds=e._sentryDebugIds||{},e._sentryDebugIds[t]="afd95c94-657f-4739-8fdc-149cd22589eb",e._sentryDebugIdIdentifier="sentry-dbid-afd95c94-657f-4739-8fdc-149cd22589eb")}catch(e){}}();"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[179],{80179:(e,t,n)=>{n.r(t),n.d(t,{default:()=>f});var s=n(95155),r=n(12115),a=n(35169),i=n(54416),l=n(66320),o=n(66766),c=n(35695),d=n(49355);let u=e=>{let{className:t=""}=e;return(0,s.jsx)("div",{className:"".concat(t," bg-gray-200 animate-pulse rounded-lg"),children:(0,s.jsx)("div",{className:"w-full h-full bg-gradient-to-r from-gray-200 via-gray-300 to-gray-200 bg-[length:200%_100%] animate-shimmer"})})},p=e=>{let{src:t,alt:n,className:a="",mobileStyle:i={},desktopStyle:l={}}=e,[o,c]=(0,r.useState)(!0),[d,p]=(0,r.useState)(!1);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsxs)("div",{className:"relative md:hidden",style:i,children:[o&&(0,s.jsx)(u,{className:a}),(0,s.jsx)("img",{src:t,alt:n,className:"".concat(a," object-cover transition-opacity duration-300 absolute inset-0 w-full h-full ").concat(o?"opacity-0":"opacity-100"),loading:"lazy",onLoad:()=>c(!1),onError:()=>{c(!1),p(!0)}}),d&&(0,s.jsx)("div",{className:"".concat(a," bg-gray-100 flex items-center justify-center absolute inset-0"),children:(0,s.jsx)("span",{className:"text-gray-400 text-sm",children:"Failed to load"})})]}),(0,s.jsxs)("div",{className:"relative hidden md:block",style:l,children:[o&&(0,s.jsx)(u,{className:a}),(0,s.jsx)("img",{src:t,alt:n,className:"".concat(a," object-cover transition-opacity duration-300 absolute inset-0 w-full h-full ").concat(o?"opacity-0":"opacity-100"),loading:"lazy",onLoad:()=>c(!1),onError:()=>{c(!1),p(!0)}}),d&&(0,s.jsx)("div",{className:"".concat(a," bg-gray-100 flex items-center justify-center absolute inset-0"),children:(0,s.jsx)("span",{className:"text-gray-400 text-sm",children:"Failed to load"})})]})]})},x=e=>{let{value:t,onChange:n,length:a=6,hasError:i=!1}=e,[l,o]=(0,r.useState)(Array(a).fill("")),c=(0,r.useRef)([]);(0,r.useEffect)(()=>{n(l.join(""))},[l,n]);let d=(e,t)=>{if(isNaN(Number(e.value)))return;let n=[...l];n[t]=e.value,o(n),e.nextSibling&&e.value&&e.nextSibling.focus()},u=(e,t)=>{if("Backspace"===e.key&&!l[t]&&t>0){let t=e.currentTarget.previousSibling;t&&t.focus()}},p=e=>{e.preventDefault();let t=e.clipboardData.getData("text/plain").trim();if(/^\d+$/.test(t)){let e=t.split("").slice(0,a),n=[...l];e.forEach((e,t)=>{t<a&&(n[t]=e)});for(let t=e.length;t<a;t++)n[t]="";o(n);let s=e.length<a?e.length:a-1;setTimeout(()=>{if(c.current[s]){var e;null==(e=c.current[s])||e.focus()}},0)}},x=l.every(e=>""!==e);return(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:"\n        .otp-input-active, .otp-input-filled {\n          border-color: #e05a2b !important;\n          box-shadow: 0 0 0 2px rgba(224,90,43,0.25), 0 0 16px rgba(224,90,43,0.3) !important;\n        }\n        .otp-input-pulsing {\n          border-color: #e05a2b !important;\n          animation: pulseGlow 0.8s ease-in-out infinite alternate;\n        }\n        @keyframes pulseGlow {\n          0% { box-shadow: 0 0 0 2px rgba(224,90,43,0.2), 0 0 8px rgba(224,90,43,0.2); }\n          100% { box-shadow: 0 0 0 3px rgba(224,90,43,0.5), 0 0 24px rgba(224,90,43,0.6); }\n        }\n        .success-view {\n          display: flex;\n          flex-direction: column;\n          align-items: center;\n          justify-content: center;\n          width: 100%;\n          min-height: 200px;\n        }\n        .success-icon {\n          width: 48px;\n          height: 48px;\n          border-radius: 8px;\n          background: #ffffff;\n          border: 2px solid #e05a2b;\n          display: flex;\n          align-items: center;\n          justify-content: center;\n          margin-bottom: 20px;\n          animation: successAppear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,\n                     pulseGlow 0.8s ease-in-out infinite alternate;\n          opacity: 0;\n          transform: scale(0.5);\n        }\n        @keyframes successAppear {\n          to { opacity: 1; transform: scale(1); }\n        }\n        @keyframes successGlow {\n          from { box-shadow: 0 0 0 2px rgba(224,90,43,0.3), 0 0 16px rgba(224,90,43,0.4); }\n          to   { box-shadow: 0 0 0 3px rgba(224,90,43,0.5), 0 0 32px rgba(224,90,43,0.7); }\n        }\n        .success-icon svg {\n          opacity: 0;\n          animation: checkDraw 0.4s 0.3s ease forwards;\n        }\n        @keyframes checkDraw {\n          to { opacity: 1; }\n        }\n        .success-title {\n          color: #333;\n          font-size: 18px;\n          font-weight: 700;\n          animation: fadeUp 0.4s 0.5s ease both;\n        }\n        @keyframes fadeUp {\n          from { opacity: 0; transform: translateY(10px); }\n          to { opacity: 1; transform: translateY(0); }\n        }\n        .bg-glow {\n          position: absolute;\n          inset: 0;\n          background: radial-gradient(circle at 50% 50%, rgba(224,90,43,0.08) 0%, transparent 65%);\n          opacity: 0;\n          pointer-events: none;\n          transition: opacity 0.5s;\n          border-radius: 8px;\n        }\n        .bg-glow.visible { opacity: 1; }\n      "}}),(0,s.jsx)("div",{className:"flex justify-center space-x-2 mb-4",onPaste:e=>{e.preventDefault();let t=e.clipboardData.getData("text/plain").trim();if(/^\d+$/.test(t)){let e=t.split("").slice(0,a),n=[...l];e.forEach((e,t)=>{t<a&&(n[t]=e)});for(let t=e.length;t<a;t++)n[t]="";o(n);let s=e.length<a?e.length:a-1;setTimeout(()=>{if(c.current[s]){var e;null==(e=c.current[s])||e.focus()}},0)}},children:l.map((e,t)=>(0,s.jsx)("input",{ref:e=>{c.current[t]=e},type:"text",inputMode:"numeric",pattern:"[0-9]*",maxLength:1,value:e,onCh
1ange:e=>d(e.target,t),onKeyDown:e=>u(e,t),onPaste:p,className:"w-12 h-12 text-center text-xl font-semibold border-2 rounded-lg focus:outline-none transition-all duration-200 focus:otp-input-active ".concat(i?"border-red-500 text-red-500":x?"otp-input-pulsing":""!==e?"otp-input-filled border-gray-300":"border-gray-300")},t))})]})},m=e=>{let{phoneNumber:t,onVerify:n,onSuccessClose:i,onBack:l,isLoading:o,error:c,clearError:d}=e,[u,p]=(0,r.useState)(""),[m,f]=(0,r.useState)(300),[g,h]=(0,r.useState)(!1),[b,y]=(0,r.useState)(!1);(0,r.useEffect)(()=>{d()},[u,d]),(0,r.useEffect)(()=>{if(m>0){let e=setTimeout(()=>f(m-1),1e3);return()=>clearTimeout(e)}h(!0)},[m]);let w=(0,r.useRef)(n),j=(0,r.useRef)(i),v=(0,r.useRef)(!1);(0,r.useEffect)(()=>{w.current=n,j.current=i},[n,i]),(0,r.useEffect)(()=>{if(u.length<6){v.current=!1;return}6!==u.length||v.current||(v.current=!0,(async()=>{let e=new Promise(e=>setTimeout(e,1e3)),t=w.current(u),[n]=await Promise.all([t,e]);n||(v.current=!1)})())},[u]);let N=async()=>{try{(await fetch("/api/auth/request-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({phone:t})})).ok&&(f(300),h(!1),p(""))}catch(e){console.error("Error resending OTP:",e)}};return(0,s.jsx)("div",{className:"space-y-6 relative h-full",children:(0,s.jsxs)("div",{className:"relative z-10 transition-opacity duration-300 w-full",children:[(0,s.jsxs)("div",{className:"flex items-center mb-4",children:[(0,s.jsx)("button",{onClick:l,className:"p-2 rounded-full hover:bg-gray-100 transition-colors",children:(0,s.jsx)(a.A,{className:"w-5 h-5 text-gray-600"})}),(0,s.jsx)("h2",{className:"text-xl font-bold text-gray-800 ml-2",children:"Verify OTP"})]}),(0,s.jsxs)("div",{className:"text-center",children:[(0,s.jsx)("p",{className:"text-gray-600 mb-2",children:"We've sent a verification code to"}),(0,s.jsx)("p",{className:"font-semibold text-gray-800 mb-6",children:t}),(0,s.jsx)(x,{value:u,onChange:p,hasError:!!c}),c&&(0,s.jsx)("p",{className:"text-red-500 text-sm mb-4",children:"INVALID_OTP"===c?"Wrong OTP":c}),o&&!c&&(0,s.jsx)("p",{className:"text-orange-500 text-sm mb-4 animate-pulse",children:"Verifying..."}),(0,s.jsx)("div",{className:"text-sm text-gray-500 mt-4",children:g?(0,s.jsx)("button",{onClick:N,className:"text-orange-500 hover:text-orange-600 font-medium",children:"Resend OTP"}):(0,s.jsxs)("span",{children:["Resend OTP in ",(e=>{let t=Math.floor(e/60);return"".concat(t,":").concat((e%60).toString().padStart(2,"0"))})(m)]})})]})]})})},f=e=>{let{isOpen:t,onClose:n,onSwitchToSignUp:a}=e,u=(0,c.useRouter)(),[x,f]=(0,r.useState)("login"),[g,h]=(0,r.useState)(!1),[b,y]=(0,r.useState)(""),[w,j]=(0,r.useState)(!1),[v,N]=(0,r.useState)("");(0,r.useEffect)(()=>{if(g){let e=setTimeout(()=>{T()},1500);return()=>clearTimeout(e)}},[g]);let k=async()=>{j(!0),N("");try{if(!b){N("Please enter your phone number"),j(!1);return}let e=await fetch("/api/auth/request-otp",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({phone:b,model:"login"})});if(e.ok)f("otp");else{let t=await e.json();N(t.error||"Failed to send OTP")}}catch(e){console.error("Login error:",e),N("An error occurred. Please try again.")}finally{j(!1)}},S=async e=>{j(!0),N("");try{let t=await (0,l.signIn)("phone-login",{phone:b,otp:e,redirect:!1});if(null==t?void 0:t.error){let e="Wrong OTP";throw e="USER_NOT_FOUND"===t.error?"User not found":"INVALID_OTP"===t.error||"CredentialsSignin"===t.error?"Wrong OTP":t.error,Error(e)}if(null==t?void 0:t.ok)return h(!0),!0;return!1}catch(e){return N(e.message||"Wrong OTP"),!1}finally{j(!1)}},T=()=>{let e=(0,d.wv)();n(),e&&e.redirectUrl&&((0,d.bQ)(),setTimeout(()=>{u.push(e.redirectUrl)},100))};return t?(0,s.jsxs)("div",{className:"fixed inset-0 z-[100] flex items-center justify-center",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-black/50 backdrop-blur-sm",onClick:n}),(0,s.jsxs)("div",{className:"relative bg-white rounded-lg shadow-2xl flex flex-col overflow-hidden mx-4 max-h-[95vh] w-full max-w-[930px] transition-all duration-300 ".concat(g?"h-[300px] md:h-[400px] items-center justify-center p-6":"h-auto md:h-[799px] md:max-h-[799px]"),style:{borderRadius:"8px"},children:[(0,s.jsx)("div",{className:"absolute top-4 left-4 z-10 flex items-center",children:(0,s.jsx)(o.default,{src:"/logo.svg",alt:"logo",width:160,height:160})}),(0,s.jsx)("button",{onClick:n,className:"absolute top-4 right-4 z-10 p-2 rounded-full bg-white/80 hover:bg-white transition-colors",children:(0,s.jsx)(i.A,{className:"w-5 h-5 text-gray-600"})}),g?(0,s.jsxs)("div",{className:"success-view relative z-10 flex flex-col items-center justify-center",children:[(0,s.jsx)("style",{dangerouslySetInnerHTML:{__html:"\n              .success-icon {\n                width: 48px;\n                height: 48px;\n                border-radius: 8px;\n                background: #ffffff;\n                border: 2px solid #e05a2b;\n                display: flex;\n                align-items: center;\n                justify-content: center;\n                margin-bottom: 20px;\n                animation: successAppear 0.5s cubic-bezier(0.34, 1.56, 0.64, 1) forwards,\n                           pulseGlow 0.8s ease-in-out infinite alternate;\n                opacity: 0;\n                transform: scale(0.5);\n              }\n              @keyframes successAppear {\n                to { opacity: 1; transform: scale(1); }\n              }\n              @keyframes pulseGlow {\n                0% { box-shadow: 0 0 0 2px rgba(224,90,43,0.2), 0 0 8px rgba(224,90,43,0.2); }\n                100% { box-shadow: 0 0 0 3px rgba(224,90,43,0.5), 0 0 24px rgba(224,90,43,0.6); }\n              }\n              .success-title {\n                color: #333;\n                font-size: 18px;\n                font-weight: 700;\n                animation: fadeUp 0.4s 0.5s ease both;\n              }\n              @keyframes fadeUp {\n                from { opacity: 0; transform: translateY(10px); }\n                to { opacity: 1; transform: translateY(0); }\n              }\n            "}}),(0,s.jsx)("div",{className:"success-icon",children:(0,s.jsx)("svg",{width:"24",height:"24",viewBox:"0 0 28 28",fill:"none",children:(0,s.jsx)("path",{d:"M6 14.5L11.5 20L22 9",stroke:"#e05a2b",strokeWidth:"3",strokeLinecap:"round",strokeLinejoin:"round"})})}),(0,s.jsx)("p",{className:"success-title",children:"Verified successfully"})]}):(0,s.jsxs)("div",{className:"flex flex-col flex-1 overflow-y-auto md:overflow-hidden",children:[(0,s.jsx)("div",{className:"flex flex-col flex-1 pt-16 px-4 pb-3 md:pt-7 md:px-7 md:pb-3",children:(0,s.jsx)("div",{className:"bg-gray-100 rounded-lg shadow-sm flex flex-col w-full max-w-[350px] p-4 mx-auto h-auto md:h-[531px]",style:{borderRadius:"8px"},children:"login"===x?(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)("h2",{className:"text-center text-xl font-bold text-gray-800 mb
1-4 md:mb-6",children:"Login"}),(0,s.jsx)("div",{className:"space-y-4",children:(0,s.jsxs)("div",{children:[(0,s.jsx)("label",{className:"block text-sm font-semibold text-gray-700 mb-2",children:"Phone number"}),(0,s.jsx)("input",{type:"tel",value:b,onChange:e=>y(e.target.value),placeholder:"75248XXXXXX",className:"w-full px-3 py-2.5 bg-white rounded-md focus:outline-none focus:ring-2 focus:ring-orange-500 border border-gray-200"})]})}),v&&(0,s.jsx)("div",{className:"text-red-500 text-sm mt-3 mb-2 text-center",children:v}),(0,s.jsxs)("div",{className:"space-y-2 mt-4",children:[(0,s.jsx)("button",{onClick:k,disabled:w,className:"w-full bg-orange-500 text-white py-2.5 rounded-md font-semibold hover:bg-orange-600 transition disabled:opacity-50 disabled:cursor-not-allowed",children:w?"Sending OTP...":"Login"}),(0,s.jsx)("button",{onClick:a,className:"w-full bg-white border border-gray-300 text-gray-800 py-2.5 rounded-md font-semibold hover:bg-gray-100 transition",children:"Sign Up"})]})]}):(0,s.jsx)(m,{phoneNumber:b,onVerify:S,onSuccessClose:T,onBack:()=>{f("login"),N("")},isLoading:w,error:v,clearError:()=>N("")})})}),(0,s.jsx)("div",{className:"px-4 pb-3 md:px-7 md:pb-3",children:(0,s.jsxs)("div",{className:"flex items-end justify-center space-x-2 md:space-x-4 overflow-x-auto pb-2 md:pb-0  md:absolute md:top-[500px] md:w-full md:left-0 md:px-7",style:{scrollbarWidth:"thin",scrollbarColor:"#cbd5e0 transparent"},children:[(0,s.jsx)(p,{src:"/loginpageimg1.svg",alt:"Interior design 1",className:"rounded-lg flex-shrink-0",mobileStyle:{width:"92px",height:"168px"},desktopStyle:{width:"153px",height:"280px"}}),(0,s.jsx)(p,{src:"/loginpageimg2.svg",alt:"Interior design 2",className:"rounded-lg flex-shrink-0",mobileStyle:{width:"91px",height:"102px"},desktopStyle:{width:"152px",height:"170px"}}),(0,s.jsx)(p,{src:"/loginpageimg3.svg",alt:"Interior design 3",className:"rounded-lg flex-shrink-0",mobileStyle:{width:"91px",height:"69px"},desktopStyle:{width:"152px",height:"115px"}}),(0,s.jsx)(p,{src:"/loginpageimg4.svg",alt:"Interior design 4",className:"rounded-lg flex-shrink-0",mobileStyle:{width:"91px",height:"102px"},desktopStyle:{width:"152px",height:"170px"}}),(0,s.jsx)(p,{src:"/loginpageimg5.svg",alt:"Interior design 5",className:"rounded-lg flex-shrink-0",mobileStyle:{width:"91px",height:"168px"},desktopStyle:{width:"152px",height:"280px"}})]})})]})]})]}):null}}}]);

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.