1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[6695],{794:(e,t,a)=>{(window.__NEXT_P=window.__NEXT_P||[]).push(["/waitlist",function(){return a(8979)}])},5463:(e,t,a)=>{"use strict";a.d(t,{A:()=>i});var s=a(7876);a(4232);var r=a(7328),n=a.n(r);let i=e=>{let{title:t="TravWiz | Effortless, Personalized Trip Planning",description:a="Plan your trips effortlessly with TravWiz. Personalized itineraries, destination inspiration, and seamless travel planningâall in one place.",robots:r}=e;return(0,s.jsxs)(n(),{children:[(0,s.jsx)("title",{children:t}),(0,s.jsx)("meta",{name:"description",content:a}),r&&(0,s.jsx)("meta",{name:"robots",content:r}),(0,s.jsx)("link",{rel:"icon",href:"/favico.ico"}),(0,s.jsx)("link",{rel:"icon",type:"image/png",sizes:"32x32",href:"/favicon-32x32.png"}),(0,s.jsx)("link",{rel:"icon",type:"image/png",sizes:"16x16",href:"/favicon-16x16.png"}),(0,s.jsx)("link",{rel:"icon",type:"image/png",sizes:"96x96",href:"/favicon-96x96.png"}),(0,s.jsx)("link",{rel:"icon",type:"image/png",sizes:"192x192",href:"/web-app-manifest-192x192.png"}),(0,s.jsx)("link",{rel:"icon",type:"image/png",sizes:"512x512",href:"/web-app-manifest-512x512.png"})]})}},7328:(e,t,a)=>{e.exports=a(9269)},8979:(e,t,a)=>{"use strict";a.r(t),a.d(t,{default:()=>x});var s=a(7876),r=a(4232),n=a(9099),i=a(9661),l=a(5463),o=a(4849),d=a(6730),c=a(1040);let x=()=>{let{user:e,isAuthenticated:t,loading:a,refreshUser:x}=(0,i.As)(),u=(0,n.useRouter)(),[m,p]=(0,r.useState)(""),[h,g]=(0,r.useState)(!1),[f,b]=(0,r.useState)(null),[v,j]=(0,r.useState)(!1),y=async e=>{var t,a,s;if(e.preventDefault(),m.trim()){g(!0),b(null);try{let e=localStorage.getItem("travwiz_jwt_token");if(!e)return void b("Authentication required. Please sign in again.");let a=await c.A.post("/api/user/self-promote",{invite_code:m.trim()},{headers:{"Content-Type":"application/json",Authorization:"Bearer ".concat(e)}});if(200===a.status){j(!0);let e=null==(t=a.data)?void 0:t.token;e&&(localStorage.setItem("travwiz_jwt_token",e),console.log("Updated JWT token with new status")),await x(),setTimeout(()=>{window.location.href="/trips?source=invite-promotion"},2e3)}}catch(e){console.error("Self-promotion error:",e),(null==(s=e.response)||null==(a=s.data)?void 0:a.error)?b(e.response.data.error):b("Failed to apply invite code. Please try again.")}finally{g(!1)}}};return((0,r.useEffect)(()=>{if(u.isReady){let e=u.query.invite;e&&"string"==typeof e&&p(e.toUpperCase().trim())}},[u.isReady,u.query.invite]),!a&&t&&e)?"WAITLISTED"!==e.status?(0,s.jsxs)("div",{className:"h-full w-full flex flex-col bg-gradient-to-b from-blue-50 to-white",children:[(0,s.jsx)(o.A,{}),(0,s.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,s.jsx)("div",{className:"container mx-auto px-4 py-16 text-center",children:(0,s.jsx)("div",{className:"animate-pulse",children:(0,s.jsx)("div",{className:"h-8 bg-gray-200 rounded w-1/4 mx-auto mb-4"})})})})]}):(0,s.jsxs)("div",{className:"h-full w-full flex flex-col bg-gradient-to-b from-blue-50 to-white",children:[(0,s.jsx)(l.A,{title:"Join the Waitlist | TravWiz",description:"Join the waitlist for TravWiz, the AI-powered travel planning assistant."}),(0,s.jsx)(o.A,{}),(0,s.jsx)("main",{className:"flex-1 overflow-y-auto",children:(0,s.jsx)("div",{className:"container mx-auto px-4 py-12 max-w-4xl",children:(0,s.jsxs)("div",{className:"bg-white rounded-xl shadow-lg p-8 md:p-12 text-center",children:[(0,s.jsxs)("div",{className:"mb-8",children:[(0,s.jsx)("h1",{className:"text-3xl md:text-4xl font-bold text-gray-900 mb-4",children:"Thanks for your interest in TravWiz"}),(0,s.jsx)("div",{className:"w-24 h-2 bg-blue-500 mx-auto mb-6 rounded-full"}),(0,s.jsxs)("div",{className:"prose prose-lg text-gray-600 max-w-3xl mx-auto text-left space-y-6",children:[(0,s.jsxs)("p",{children:["Currently, TravWiz is in an"," ",(0,s.jsx)("span",{className:"font-semibold",children:"invite-only beta"}),". We're carefully managing access to ensure the best possible experience for all our users."]}),(0,s.jsx)("div",{className:"bg-blue-50 border-l-4 border-blue-500 p-4 my-6 rounded-r",children:(0,s.jsxs)("p",{className:"text-blue-700",children:[(0,s.jsx)("span",{className:"font-semibold",children:"Good news!"})," We have you on our waitlist and will reach out when we're ready for the next step."]})})]})]}),(0,s.jsxs)("div",{className:"mt-8 p-6 bg-gray-50 rounded-lg border-2 border-dashed border-gray-300",children:[(0,s.jsx)("h3",{className:"text-xl font-semibold text-gray-900 mb-4 text-center",children:"Have an Invite Code?"}),(0,s.jsx)("p",{className:"text-gray-600 mb-4 text-center",children:"If you received an invite code from a friend, enter it below to get immediate access!"}),v&&(0,s.jsx)("div",{className:"mb-4 p-4 bg-green-100 border border-green-300 rounded-md",children:(0,s.jsx)("p",{className:"text-green-700 font-medium text-center",children:"\uD83C\uDF89 Success! Your account has been activated. Redirecting you to the app..."})}),f&&(0,s.jsx)("div",{className:"mb-4 p-4 bg-red-100 border border-red-300 rounded-md",children:(0,s.jsx)("p",{className:"text-red-700 text-center",children:f})}),!v&&(0,s.jsxs)("form",{onSubmit:y,className:"max-w-md mx-auto",children:[(0,s.jsxs)("div",{className:"flex gap-3",children:[(0,s.jsx)("input",{type:"text",value:m,onChange:e=>p(e.target.value.toUpperCase().trim()),placeholder:"Enter your invite code",className:"flex-1 px-4 py-3 border border-gray-300 rounded-lg focus:outline-none focus:ring-2 focus:ring-blue-500 focus:border-transparent text-center font-mono text-lg text-slate-600",disabled:h,maxLength:32}),(0,s.jsx)("button",{type:"submit",disabled:!m.trim()||h,className:"px-6 py-3 bg-green-600 hover:bg-green-700 disabled:bg-gray-400 text-white font-medium rounded-lg transition-colors duration-200",children:h?"Checking...":"Activate"})]}),(0,s.jsx)("p",{className:"text-xs text-gray-500 mt-2 text-center",children:"Codes are case-insensitive and usually 8 characters long"})]})]}),(0,s.jsx)("p",{className:"text-sm text-gray-500 mt-8",children:"In the meantime, feel free to explore our demo content and learn more about what makes TravWiz special."}),(0,s.jsx)("button",{onClick:()=>{d.UY.log("WAITLIST: Back to Home button clicked, navigating to /",{currentPath:u.pathname,userStatus:null==e?void 0:e.status,isAuthenticated:t}),u.push("/")},className:"mt-6 px-6 py-3 bg-blue-600 hover:bg-blue-700 text-white font-medium rounded-lg transition-colors duration-200",children:"Back to Home"})]})})})]}):(0,s.jsxs)("div",{className:"h-full w-full flex flex-col bg-gradient-to-b from-blue-50 to-white",children:[(0,s.jsx)(o.A,{}),(0,s.jsx)("div",{className:"flex-1 overflow-y-auto",children:(0,s.jsx)("div",{className:"container mx-auto px-4 py-16 text-center",children:(0,s.jsxs)("div",{className:"animate-pulse",children:[(0,s.jsx)("div",{className:"h-8 bg-gray-200 rounded w-1/4 mx-auto mb-4"}),(0,s.jsx)("div",{className:"h-4 bg-gray-200 rounded w-1/2 mx-auto"})]})})})]})}}},e=>{e.O(0,[4849,636,6593,8792],()=>e(e.s=794)),_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.