PageSourceSearch

https://nanobanana25.ai/_next/static/chunks/app/%5Blocale%5D/signin/page-b641e4f7bfac95ac.js

js nanobanana25.ai collected 2026-10-05 12:40:37 UTC 18,624 bytes, 11 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6067],{2442:function(e,t,i){"use strict";i.d(t,{Z:function(){return r}});var a=i(5531);/**
2 * @license lucide-react v0.417.0 - ISC
3 *
4 * This source code is licensed under the ISC license.
5 * See the LICENSE file in the root directory of this source tree.
6 */let r=(0,a.Z)("Check",[["path",{d:"M20 6 9 17l-5-5",key:"1gmf2c"}]])},2811:function(e,t,i){Promise.resolve().then(i.bind(i,2068))},2068:function(e,t,i){"use strict";i.r(t),i.d(t,{default:function(){return Login}});var a=i(7437),r=i(1396),n=i.n(r),o=i(2265),l=i(2104),s=i(5925),m=i(8597),d=i(2442),g=i(5531);/**
7 * @license lucide-react v0.417.0 - ISC
8 *
9 * This source code is licensed under the ISC license.
10 * See the LICENSE file in the root directory of this source tree.
11 */let c=(0,g.Z)("Monitor",[["rect",{width:"20",height:"14",x:"2",y:"3",rx:"2",key:"48i651"}],["line",{x1:"8",x2:"16",y1:"21",y2:"21",key:"1svkeh"}],["line",{x1:"12",x2:"12",y1:"17",y2:"21",key:"vw1qmm"}]]);var h=i(8546),u=i(116),p=i(100);function PillDropdown(e){let{icon:t,value:i,options:r,onChange:n,title:l}=e,[s,m]=(0,o.useState)(!1),g=(0,o.useRef)(null),{theme:c}=(0,h.F)(),u="light"!==c,p=r.find(e=>e.value===i);return(0,o.useEffect)(()=>{let handleClick=e=>{g.current&&!g.current.contains(e.target)&&m(!1)};return document.addEventListener("mousedown",handleClick),()=>document.removeEventListener("mousedown",handleClick)},[]),(0,a.jsxs)("div",{ref:g,className:"relative",children:[(0,a.jsxs)("button",{onClick:()=>m(!s),className:"flex items-center gap-2 px-4 py-2.5 rounded-full text-sm font-medium transition-all",style:{color:u?"#ffffff":"#111827",background:u?"rgba(30, 30, 30, 0.7)":"rgba(255, 255, 255, 0.92)",backdropFilter:"blur(20px) saturate(180%)",WebkitBackdropFilter:"blur(20px) saturate(180%)",border:u?"1px solid rgba(255,255,255,0.15)":"1px solid rgba(229,231,235,0.9)",boxShadow:u?"0 4px 12px rgba(0,0,0,0.3)":"0 4px 12px rgba(0,0,0,0.08)"},children:[(0,a.jsx)(t,{className:"w-4 h-4"}),(0,a.jsx)("span",{children:(null==p?void 0:p.label)||i})]}),s&&(0,a.jsxs)("div",{className:"absolute top-full mt-2 left-0 min-w-[180px] rounded-2xl overflow-hidden z-50",style:{background:u?"rgba(30, 30, 30, 0.85)":"rgba(255, 255, 255, 0.96)",backdropFilter:"blur(40px) saturate(180%)",WebkitBackdropFilter:"blur(40px) saturate(180%)",border:u?"1px solid rgba(255,255,255,0.15)":"1px solid rgba(229,231,235,0.95)",boxShadow:u?"0 25px 50px rgba(0,0,0,0.6)":"0 25px 50px rgba(0,0,0,0.12)"},children:[l&&(0,a.jsx)("div",{className:"px-4 py-3 text-xs font-semibold border-b",style:{color:u?"rgba(255,255,255,0.7)":"#6b7280",borderColor:u?"rgba(255,255,255,0.1)":"rgba(229,231,235,1)"},children:l}),r.map(e=>(0,a.jsxs)("button",{onClick:()=>{n(e.value),m(!1)},className:"w-full px-4 py-3 text-left text-sm transition-colors flex items-center justify-between",style:{color:u?"#ffffff":"#111827"},onMouseEnter:e=>{e.currentTarget.style.background=u?"rgba(255,255,255,0.1)":"rgba(243,244,246,1)"},onMouseLeave:e=>{e.currentTarget.style.background="transparent"},children:[(0,a.jsx)("span",{children:e.label}),i===e.value&&(0,a.jsx)(d.Z,{className:"w-4 h-4 text-red-500 dark:text-white"})]},e.value))]})]})}function Login(e){let{searchParams:t}=e,i=(0,u.useTranslations)("SignIn"),r=(null==t?void 0:t.from)||"/",[d,g]=(0,o.useState)(""),[f,b]=(0,o.useState)(!1),[x,w]=(0,o.useState)(!1),[y,v]=(0,o.useState)(!1),{theme:k,setTheme:S}=(0,h.F)(),handleSignup=async(e,t)=>{null==e||e.preventDefault();try{let{type:e,provider:a}=t,n=new URL(r,window.location.origin).toString();if(console.log("signin redirectURL",n),console.log("signin from",r),"oauth"===e){b(!0),v(!0),await new Promise(e=>setTimeout(e,1e3));let{data:e,error:t}=await l.U_.signIn.social({provider:a,callbackURL:n});if(t)throw t;await new Promise(e=>setTimeout(e,1e4))}else if("magic_link"===e){if((0,p.cK)(d)){s.ZP.error(i("messages.emailDomainBlocked"));return}w(!0);let{error:e}=await l.U_.signIn.magicLink({email:d,callbackURL:n});if(e)throw e;s.ZP.success(i("messages.checkEmail")),v(!0)}}catch(e){s.ZP.error((null==e?void 0:e.message)||(null==e?void 0:e.statusText)||i("messages.signInFailed")),console.log(e)}finally{w(!1),b(!1)}};return(0,a.jsx)("main",{className:"min-h-screen bg-gray-50 dark:bg-[#171717] text-gray-900 dark:text-white flex items-center justify-center p-4 md:p-8 transition-colors",children:(0,a.jsxs)("div",{className:"w-full max-w-md",children:[(0,a.jsxs)("div",{className:"mb-8 flex items-center justify-between",children:[(0,a.jsxs)(n(),{href:"/",className:"inline-flex items-center gap-2 px-4 py-2 text-gray-500 hover:text-gray-900 dark:text-gray-400 dark:hover:text-white transition-colors group",children:[(0,a.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 20 20",fill:"currentColor",className:"w-5 h-5 transition-transform group-hover:-translate-x-1",children:(0,a.jsx)("path",{fillRule:"evenodd",d:"M15 10a.75.75 0 01-.75.75H7.612l2.158 1.96a.75.75 0 11-1.04 1.08l-3.5-3.25a.75.75 0 010-1.08l3.5-3.25a.75.75 0 111.04 1.08L7.612 9.25h6.638A.75.75 0 0115 10z",clipRule:"evenodd"})}),i("backToHome")]}),(0,a.jsx)(PillDropdown,{icon:c,value:"light"===k?"light":"dark",options:[{value:"light",label:i("theme.light")},{value:"dark",label:i("theme.dark")}],onChange:e=>{S(e)},title:i("theme.title")})]}),(0,a.jsxs)("div",{className:"bg-white dark:bg-white/5 backdrop-blur-xl rounded-3xl p-8 md:p-10 shadow-lg border border-gray-200 dark:border-white/10",children:[(0,a.jsx)("div",{className:"flex justify-center mb-6",children:(0,a.jsx)("img",{src:"https://cdn.nanobanana25.ai/nano-banana.png",alt:i("logoAlt",{appName:m.Z.appName}),className:"w-16 h-16",width:64,height:64})}),(0,a.jsx)("h1",{className:"text-3xl md:text-4xl font-bold text-center mb-3 text-gray-900 dark:text-white",children:i("title")}),(0,a.jsx)("p",{className:"text-center text-gray-500 dark:text-gray-400 mb-8",children:i("subtitle",{appName:m.Z.appName})}),(0,a.jsxs)("button",{className:"w-full flex items-center justify-center gap-3 px-6 py-4 bg-white dark:bg-white/10 hover:bg-gray-50 dark:hover:bg-white/15 text-gray-900 dark:text-white font-semibold rounded-2xl transition-all border border-gray-200 dark:border-white/10 shadow-sm hover:shadow-md hover:scale-[1.01] disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100",onClick:e=>handleSignup(e,{type:"oauth",provider:"google"}),disabled:f,children:[f?(0,a.jsx)("span",{className:"loading loading-spinner loading-sm"}):(0,a.jsxs)("svg",{xmlns:"http://www.w3.org/2000/svg",className:"w-6 h-6",viewBox:"0 0 48 48",children:[(0,a.jsx)("path",{fill:"#FFC107",d:"M43.611 20.083H42V20H24v8h11.303c-1.649 4.657-6.08 8-11.303 8-6.627 0-12-5.373-12-12s5.373-12 12-12c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4 12.955 4 4 12.955 4 24s8.955 20 20 20 20-8.955 20-20c0-1.341-.138-2.65-.389-3.917z"}),(0,a.jsx)("path",{fill:"#FF3D00",d:"m6.306 14.691 6.571 4.819C14.655 15.108 18.961 12 24 
1112c3.059 0 5.842 1.154 7.961 3.039l5.657-5.657C34.046 6.053 29.268 4 24 4 16.318 4 9.656 8.337 6.306 14.691z"}),(0,a.jsx)("path",{fill:"#4CAF50",d:"M24 44c5.166 0 9.86-1.977 13.409-5.192l-6.19-5.238A11.91 11.91 0 0 1 24 36c-5.202 0-9.619-3.317-11.283-7.946l-6.522 5.025C9.505 39.556 16.227 44 24 44z"}),(0,a.jsx)("path",{fill:"#1976D2",d:"M43.611 20.083H42V20H24v8h11.303a12.04 12.04 0 0 1-4.087 5.571l.003-.002 6.19 5.238C36.971 39.205 44 34 44 24c0-1.341-.138-2.65-.389-3.917z"})]}),i("continueWithGoogle")]}),(0,a.jsxs)("div",{className:"relative my-8",children:[(0,a.jsx)("div",{className:"absolute inset-0 flex items-center",children:(0,a.jsx)("div",{className:"w-full border-t border-gray-200 dark:border-white/10"})}),(0,a.jsx)("div",{className:"relative flex justify-center text-sm",children:(0,a.jsx)("span",{className:"px-4 bg-white dark:bg-white/5 text-gray-500 dark:text-gray-400 font-medium uppercase tracking-wider",children:i("continueWithEmail")})})]}),(0,a.jsxs)("form",{className:"space-y-5",onSubmit:e=>handleSignup(e,{type:"magic_link"}),children:[(0,a.jsxs)("div",{children:[(0,a.jsx)("label",{htmlFor:"email",className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:i("email.label")}),(0,a.jsx)("input",{id:"email",required:!0,type:"email",value:d,autoComplete:"email",placeholder:i("email.placeholder"),className:"w-full px-5 py-4 bg-gray-50 dark:bg-white/5 border border-gray-200 dark:border-white/10 rounded-xl text-gray-900 dark:text-white placeholder:text-gray-400 dark:placeholder:text-gray-500 focus:outline-none focus:ring-2 focus:ring-red-500 focus:border-transparent transition-all hover:border-gray-300 dark:hover:border-white/20",onChange:e=>g(e.target.value)})]}),(0,a.jsxs)("button",{className:"w-full flex items-center justify-center gap-2 px-8 py-4 text-white font-semibold bg-gray-900 dark:bg-white hover:bg-gray-800 dark:hover:bg-gray-100 dark:text-gray-900 rounded-xl transition-all shadow-lg hover:shadow-xl hover:scale-[1.01] disabled:opacity-50 disabled:cursor-not-allowed disabled:hover:scale-100",disabled:x||y,type:"submit",children:[x&&(0,a.jsx)("span",{className:"loading loading-spinner loading-sm"}),i("sendMagicLink")]})]}),(0,a.jsxs)("p",{className:"mt-8 text-center text-sm text-gray-500 dark:text-gray-400",children:[i("agreement.prefix")," ",(0,a.jsx)(n(),{href:"/tos",className:"text-gray-900 dark:text-white hover:underline transition-colors",children:i("agreement.terms")})," ",i("agreement.and")," ",(0,a.jsx)(n(),{href:"/privacy-policy",className:"text-gray-900 dark:text-white hover:underline transition-colors",children:i("agreement.privacy")})]})]})]})})}},8546:function(e,t,i){"use strict";i.d(t,{F:function(){return useTheme},f:function(){return ThemeProvider}});var a=i(7437),r=i(2265);let n=(0,r.createContext)({theme:"dark",setTheme:()=>null});function ThemeProvider(e){let{children:t,defaultTheme:i="dark",...o}=e,[l,s]=(0,r.useState)(i),[m,d]=(0,r.useState)(!1);return(0,r.useEffect)(()=>{d(!0);let e=localStorage.getItem("theme");e?s(e):"system"===i&&s(window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light")},[i]),(0,r.useEffect)(()=>{if(!m)return;let e=window.document.documentElement;if(e.classList.remove("light","dark"),"system"===l){let t=window.matchMedia("(prefers-color-scheme: dark)").matches?"dark":"light";e.classList.add(t);return}e.classList.add(l),localStorage.setItem("theme",l)},[l,m]),(0,a.jsx)(n.Provider,{...o,value:{theme:l,setTheme:s},children:t})}let useTheme=()=>{let e=(0,r.useContext)(n);if(void 0===e)throw Error("useTheme must be used within a ThemeProvider");return e}},8597:function(e,t,i){"use strict";var a=i(9077),r=i.n(a);let n="nanobanana25.ai",o="https://nanobanana25.ai".replace(/\/$/,""),l={appName:"Nano Banana 2.5 AI",appDescription:"Your All-in-One AI Creative Studio & Marketing Studio - Create stunning images and videos with cutting-edge AI models including Seedance 2.0, Veo 3, Kling, Runway, Nano Banana, Seedream, and Flux.",domainName:n,httpsDomainNameWithW:"https://"+n+"/",httpsDomainName:"https://"+n+"/",httpsDomain:"https://nanobanana25.ai",httpsImageDomainName:"https://cdn."+n,domainIcon:"https://cdn."+n+"/icon.png",crisp:{id:"",onlyShowOnRoutes:["/"]},signinCredits:3,inviteCredits:5,stripe:{plans:[{priceId:"price_1OWPdAEYguPiYN3AI8E8IFXw",name:"Free Plan",description:"Free Plan",price:0,freeCredits:5,priceAnchor:0,features:[{name:"Free Plan"},{name:"5 credits"},{name:"High quality images"},{name:"Image History"},{name:"Image Model(DALL\xb7E 3, Stable Diffusion support, Midjourney coming)"},{name:"Faster design generation"},{name:"Create icon, logo, poster,coloring pages and more designs..."}]},{priceId:"price_1OqcbiFxyz8xFcqcwPSbSoSi",name:"Basic plan",description:"Perfect for basic projects",price:9,priceAnchor:18,features:[{name:"Basic plan"},{name:"25 credits"},{name:"High quality images"},{name:"Image History"},{name:"Image Model(DALL\xb7E 3, Stable Diffusion support, Midjourney coming)"},{name:"Faster design generation"},{name:"Design Editor Coming"},{name:"Create icon, logo, poster,coloring pages and more designs..."}]},{isFeatured:!0,priceId:"price_1OoLXoFxyz8xFcqchFQpSmz4",name:"Starter Plan",description:"Perfect for small projects",price:18,priceAnchor:36,features:[{name:"Starter Plan"},{name:"50 credits"},{name:"High quality images"},{name:"Image History"},{name:"Image Model(DALL\xb7E 3, Stable Diffusion Support, Midjourney Coming)"},{name:"Faster design generation"},{name:"Create icon, logo, poster,coloring pages and more designs..."}]},{priceId:"price_1OoLYkFxyz8xFcqcujwSy8cu",name:"Premium Plan",description:"You need more power",price:28,priceAnchor:56,features:[{name:"Premium Plan"},{name:"100 credits"},{name:"High quality images"},{name:"Image Model(DALL\xb7E 3, Stable Diffusion Support, Midjourney Coming)"},{name:"Faster design generation"},{name:"Create icon, logo, poster,coloring pages and more designs..."}]}]},aws:{bucket:"bucket-name",bucketUrl:"https://bucket-name.s3.amazonaws.com/",cdn:"https://cdn-id.cloudfront.net/"},mailgun:{supportEmail:"[email protected]"},colors:{theme:"light",main:r()["[data-theme=light]"].primary},auth:{loginUrl:"/signin?from=/home",loginAllUrl:"".concat(o,"/signin?from=/home"),callbackUrl:"/home"},prompt:{icon:"a   high-definition [imageStyle] ios app icon featuring [imagePrompt]. front view. icon without any titles or text.",logo:"a high-definition [imageStyle] logo featuring [imagePrompt]. front view. [imageTitle]",sticker:"a high-definition [imageStyle] sticker featuring [imagePrompt], with vibrant colors and white borders on a minimal white background. stickers all in image. front view. [imageTitle]",poster:"a high-definition [imageStyle], borderless format poster featuring [imagePrompt]. front view. [imageTitle]",coloringpage:"a high-definition, printable, [imageStyle] borderless format coloring page featuring  [imagePrompt] that have been colored and the same [imagePrompt] that have not been colored. front view. [imageTitle]",mockup:"a high-definition [imageStyle] mockup featuring [imagePrompt], with white background, front view. [imageTitle]",postcard:"a high-definition [imageStyle] postcard featuring [imagePrompt],with white background, front view. [imageTitle]",tattoo:"a high-definition, printable,[imageStyle] tattoo featuring [imagePrompt],with white background, front view. [imageTitle]",birthdaycard:"a high-definition, printable, [imageStyle], borderless format birthday card featuring [imagePrompt], front view. [imageTitle]",character:"a [imageStyle] character of [imagePrompt]. [imageTitle]",illustration:"a high-definition, [imageStyle], borderless format illustration featuring [imagePrompt], front view. [imageTitle]",custom:"[imagePrompt]"},mjPrompt:{icon:"a front view of high-definition [imageStyle] ios app icon featuring [imagePrompt]",logo:"a front view of high-definition [imageStyle] logo featuring [imagePrompt]",sticker:"a front view of high-definition [imageStyle] sticker featuring with vibrant colors and white borders on a minimal white background and [imagePrompt]",poster:"a front view of high-definition [imageStyle], borderless format poster featuring [imagePrompt]",coloringpage:"a high-definition, printable, [imageStyle] borderless format coloring page featuring [imagePrompt]",mockup:"a front view of high-definition [imageStyle] mockup featuring [imagePrompt]",postcard:"a front view of high-definition [imageStyle] postcard featuring [imagePrompt]",tattoo:"a front view of high-definition, printable,[imageStyle] tattoo featuring [imagePrompt]",birthdaycard:"a front view of high-definition, printable, [imageStyle], borderless format birthday card featuring [imagePrompt]",character:"a front view  of [imageStyle] character featuring [imagePrompt]",illustration:"a front view of high-definition, [imageStyle], borderless format illustration featuring [imagePrompt]",custom:"[imagePrompt]"},fluxPrompt:{icon:"a high-definition [imageStyle] ios app icon featuring [imagePrompt]. front view. icon without any titles or text.",logo:"a high-definition [imageStyle] logo featuring [imagePrompt]. front view. [imageTitle]",sticker:"a high-definition [imageStyle] sticker featuring [imagePrompt], with vibrant colors and white borders on a minimal white background. stickers all in image. front view. [imageTitle]",poster:"a high-definition [imageStyle], borderless format poster featuring [imagePrompt]. front view. [imageTitle]",coloringpage:"a high-definition, printable, [imageStyle] borderless format coloring page featuring  [imagePrompt] that have been colored and the same [imagePrompt] that have not been colored. front view. [imageTitle]",mockup:"a high-definition [imageStyle] mockup featuring [imagePrompt], with white background, front view. [imageTitle]",postcard:"a high-definition [imageStyle] postcard featuring [imagePrompt],with white background, front view. [imageTitle]",tattoo:"a high-definition, printable,[imageStyle] tattoo featuring [imagePrompt],with white background, front view. [imageTitle]",birthdaycard:"a high-definition, printable, [imageStyle], borderless format birthday card featuring [imagePrompt], front view. [imageTitle]",character:"a [imageStyle] character of [imagePrompt]. [imageTitle]",illustration:"a high-definition, [imageStyle], borderless format illustration featuring [imagePrompt], front view. [imageTitle]",custom:"[imagePrompt]"}};t.Z=l},100:function(e,t,i){"use strict";i.d(t,{cK:function(){return isBlockedAuthEmail}});let a=["emalupe.com"],getEmailDomain=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=String(e||"").trim().toLowerCase(),i=t.lastIndexOf("@");return i<0?"":t.slice(i+1)},isBlockedAuthEmail=function(){let e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:"",t=getEmailDomain(e);return!!t&&a.some(e=>t===e||t.endsWith(".".concat(e)))}},2104:function(e,t,i){"use strict";i.d(t,{LT:function(){return getCachedAuthSession},RV:function(){return clearCachedAuthSession},U_:function(){return o}});var a=i(5174),r=i(3885),n=i(100);let o=(0,a.X)({plugins:[(0,r.l)()]}),l=null,s=0,m=null;async function getCachedAuthSession(){let{force:e=!1}=arguments.length>0&&void 0!==arguments[0]?arguments[0]:{},t=Date.now();return!e&&l&&t-s<5e3?l:!e&&m?m:m=o.getSession().then(e=>{var t,i;return l=(0,n.cK)(null==e?void 0:null===(i=e.data)||void 0===i?void 0:null===(t=i.user)||void 0===t?void 0:t.email)?{...e,data:null}:e,s=Date.now(),l}).finally(()=>{m=null})}function clearCachedAuthSession(){l=null,s=0,m=null}},1396:function(e,t,i){e.exports=i(8326)}},function(e){e.O(0,[8326,5066,4517,1251,2971,2472,1744],function(){return e(e.s=2811)}),_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.