PageSourceSearch

https://trandx.zeabur.app/_next/static/chunks/pages/individual/reset-password-822ae643f9a06653.js

js trandx.zeabur.app collected 2026-10-03 16:36:25 UTC 12,929 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2179],{30459:function(e,a,s){(window.__NEXT_P=window.__NEXT_P||[]).push(["/individual/reset-password",function(){return s(30875)}])},30875:function(e,a,s){"use strict";s.r(a);var t=s(47568),n=s(14924),r=s(26042),i=s(69396),x=s(97582),o=s(85893),l=s(60357),d=s.n(l),b=s(14615),c=s(45977),f=s(9589),p=s(73510),m=s(11607),u=s(34464),h=s(36316),g=s(9008),j=s.n(g),w=s(41664),N=s.n(w),y=s(11163),v=s(67294),k=function(){var e=(0,y.useRouter)(),a=e.query.token,s=(0,v.useState)({newPassword:"",confirmPassword:""}),l=s[0],g=s[1],w=(0,v.useState)(!1),k=w[0],P=w[1],z=(0,v.useState)(!1),Z=z[0],_=z[1],C=(0,v.useState)(!1),S=C[0],E=C[1],Y=(0,v.useState)(""),F=Y[0],q=Y[1],O=(0,v.useState)(!1),R=O[0],T=O[1];(0,v.useEffect)(function(){e.isReady&&!a&&q("無效的重設連結")},[e.isReady,a]);var X,A=function(e){g((0,i.Z)((0,r.Z)({},l),(0,n.Z)({},e.target.name,e.target.value))),q("")},D=(X=(0,t.Z)(function(s){var t,n,r,i;return(0,x.__generator)(this,function(r){switch(r.label){case 0:if(s.preventDefault(),q(""),!a)return q("無效的重設連結"),[2];if(l.newPassword.length<6)return q("密碼長度至少為 6 個字元"),[2];if(l.newPassword!==l.confirmPassword)return q("密碼不一致"),[2];E(!0),r.label=1;case 1:return r.trys.push([1,3,4,5]),[4,b.V.resetPassword({token:a,newPassword:l.newPassword,confirmPassword:l.confirmPassword})];case 2:return(t=r.sent()).success?(T(!0),setTimeout(function(){e.push("/individual/login")},3e3)):q((null===(n=t.error)||void 0===n?void 0:n.message)||"重設失敗,請稍後再試"),[3,5];case 3:return q((null===(i=r.sent().error)||void 0===i?void 0:i.message)||"重設失敗,請稍後再試"),[3,5];case 4:return E(!1),[7];case 5:return[2]}})}),function(e){return X.apply(this,arguments)});return(0,o.jsxs)(o.Fragment,{children:[(0,o.jsxs)(j(),{children:[(0,o.jsx)("title",{className:"jsx-196d5bb1ef5f7c38",children:"重設密碼 - 個人用戶"}),(0,o.jsx)("meta",{name:"description",content:"設定您的新密碼",className:"jsx-196d5bb1ef5f7c38"})]}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 min-h-screen font-[Outfit] overflow-hidden relative pastel-bg text-[#4a4458] flex items-center justify-center px-4 py-12",children:[(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 fixed inset-0 z-0 pointer-events-none overflow-hidden",children:[(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 floating-shape shape-1"}),(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 floating-shape shape-2"}),(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 floating-shape shape-3"})]}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 w-full max-w-md relative z-10",children:[(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 clay-card p-8 rounded-3xl",children:[(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 text-center mb-8",children:[(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 inline-flex items-center justify-center w-16 h-16 rounded-2xl clay-icon-bg mb-4 text-[#6b5b95]",children:(0,o.jsx)(c.Z,{className:"w-8 h-8"})}),(0,o.jsx)("h1",{className:"jsx-196d5bb1ef5f7c38 text-3xl font-black text-[#6b5b95] mb-2",children:"重設密碼"}),(0,o.jsx)("p",{className:"jsx-196d5bb1ef5f7c38 text-[#5f6368] font-medium",children:"請輸入您的新密碼"})]}),R?(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 text-center",children:[(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 inline-flex items-center justify-center w-16 h-16 rounded-2xl clay-icon-bg mb-4 text-[#06C755]",children:(0,o.jsx)(f.Z,{className:"w-8 h-8"})}),(0,o.jsx)("h2",{className:"jsx-196d5bb1ef5f7c38 text-xl font-bold text-[#6b5b95] mb-2",children:"密碼重設成功"}),(0,o.jsxs)("p",{className:"jsx-196d5bb1ef5f7c38 text-[#5f6368] mb-8 font-medium",children:["您的密碼已成功重設。",(0,o.jsx)("br",{className:"jsx-196d5bb1ef5f7c38"}),"正在跳轉到登入頁面..."]}),(0,o.jsx)(N(),{href:"/individual/login",children:(0,o.jsx)("a",{className:"jsx-196d5bb1ef5f7c38 clay-button-primary w-full flex justify-center items-center px-6 py-4 rounded-2xl font-bold text-lg shadow-xl",children:"立即登入"})})]}):(0,o.jsxs)("form",{onSubmit:D,className:"jsx-196d5bb1ef5f7c38 space-y-6",children:[F&&(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 flex items-start gap-3 p-4 bg-red-50 border border-red-200 rounded-2xl",children:[(0,o.jsx)(p.Z,{className:"w-5 h-5 text-red-600 flex-shrink-0 mt-0.5"}),(0,o.jsx)("p",{className:"jsx-196d5bb1ef5f7c38 text-sm text-red-800 font-medium",children:F})]}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38",children:[(0,o.jsx)("label",{htmlFor:"newPassword",className:"jsx-196d5bb1ef5f7c38 block text-sm font-bold text-[#6b5b95] mb-2",children:"新密碼"}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 relative",children:[(0,o.jsx)(c.Z,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-[#9ca3af]"}),(0,o.jsx)("input",{id:"newPassword",name:"newPassword",type:k?"text":"password",required:!0,value:l.newPassword,onChange:A,placeholder:"至少 6 個字元",className:"jsx-196d5bb1ef5f7c38 w-full pl-12 pr-12 py-4 border-none rounded-2xl clay-input text-[#4a4458] placeholder-[#9ca3af] focus:outline-none focus:ring-2 focus:ring-[#b19cd9]/50 transition-all font-medium"}),(0,o.jsx)("button",{type:"button",onClick:function(){return P(!k)},className:"jsx-196d5bb1ef5f7c38 absolute right-4 top-1/2 -translate-y-1/2 text-[#9ca3af] hover:text-[#6b5b95] transition-colors",children:k?(0,o.jsx)(m.Z,{className:"w-5 h-5"}):(0,o.jsx)(u.Z,{className:"w-5 h-5"})})]})]}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38",children:[(0,o.jsx)("label",{htmlFor:"confirmPassword",className:"jsx-196d5bb1ef5f7c38 block text-sm font-bold text-[#6b5b95] mb-2",children:"確認密碼"}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 relative",children:[(0,o.jsx)(c.Z,{className:"absolute left-4 top-1/2 -translate-y-1/2 w-5 h-5 text-[#9ca3af]"}),(0,o.jsx)("input",{id:"confirmPassword",name:"confirmPassword",type:Z?"text":"password",required:!0,value:l.confirmPassword,onChange:A,placeholder:"再次輸入密碼",className:"jsx-196d5bb1ef5f7c38 w-full pl-12 pr-12 py-4 border-none rounded-2xl clay-input text-[#4a4458] placeholder-[#9ca3af] focus:outline-none focus:ring-2 focus:ring-[#b19cd9]/50 transition-all font-medium"}),(0,o.jsx)("button",{type:"button",onClick:function(){return _(!Z)},className:"jsx-196d5bb1ef5f7c38 absolute right-4 top-1/2 -translate-y-1/2 text-[#9ca3af] hover:text-[#6b5b95] transition-colors",children:Z?(0,o.jsx)(m.Z,{className:"w-5 h-5"}):(0,o.jsx)(u.Z,{className:"w-5 h-5"})})]})]}),l.newPassword&&(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 text-sm text-[#5f6368] font-medium",children:[(0,o.jsx)("p",{className:"jsx-196d5bb1ef5f7c38 mb-2",children:"密碼強度:"}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 flex gap-2",children:[(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 "+"h-2 flex-1 rounded-full transition-all duration-300 ".concat(l.newPassword.length>=6?"bg-yellow-400 shadow-sm":"bg-gray-200")}),(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 "+"h-2 flex-1 rounded-full transition-all duration-300 ".concat(l.newPassword.length>=8?"bg-green-400 shadow-sm":"bg-gray-200")}),(0,o.jsx)("div",{className:"jsx-196d5bb1ef5f7c38 "+"h-2 flex-1 rounded-full transition-all duration-300 ".concat(l.newPassword.length>=12&&/[A-Z]/.test(l.newPassword)&&/[0-9]/.test(l.newPassword)?"bg-[#06C755] shadow-sm":"bg-gray-200")})]})]}),(0,o.jsx)("button",{type:"submit",disabled:S,className:"jsx-196d5bb1ef5f7c38 w-full flex items-center justify-center gap-2 px-6 py-4 clay-button-primary rounded-2xl font-bold text-lg shadow-xl disabled:opacity-70 disabled:cursor-not-allowed transition-all",children:S?(0,o.jsxs)(o.Fragment,{children:[(0,o.jsx)(h.Z,{className:"w-5 h-5 animate-spin"}),"重設中..."]}):"重設密碼"})]})]}),(0,o.jsxs)("div",{className:"jsx-196d5bb1ef5f7c38 mt-8 text-center text-sm text-[#5f6368] font-medium",children:["記起密碼了?"," ",(0,o.jsx)(N(),{href:"/individual/login",children:(0,o.jsx)("a",{className:"jsx-196d5bb1ef5f7c38 font-bold text-[#6b5b95] hover:opacity-80 transition-opacity",children:"返回登å
1…¥"})})]})]})]}),(0,o.jsx)(d(),{id:"196d5bb1ef5f7c38",children:".pastel-bg.jsx-196d5bb1ef5f7c38{background:-webkit-linear-gradient(315deg,#ffd6e8 0%,#c7b8ea 50%,#a8d8ea 100%);background:-moz-linear-gradient(315deg,#ffd6e8 0%,#c7b8ea 50%,#a8d8ea 100%);background:-o-linear-gradient(315deg,#ffd6e8 0%,#c7b8ea 50%,#a8d8ea 100%);background:linear-gradient(135deg,#ffd6e8 0%,#c7b8ea 50%,#a8d8ea 100%)}.clay-card.jsx-196d5bb1ef5f7c38{background:rgba(255,255,255,.95);-webkit-box-shadow:-8px -8px 20px rgba(255,255,255,.8),8px 8px 20px rgba(174,174,192,.4),inset -2px -2px 8px rgba(255,255,255,.5),inset 2px 2px 8px rgba(174,174,192,.2);-moz-box-shadow:-8px -8px 20px rgba(255,255,255,.8),8px 8px 20px rgba(174,174,192,.4),inset -2px -2px 8px rgba(255,255,255,.5),inset 2px 2px 8px rgba(174,174,192,.2);box-shadow:-8px -8px 20px rgba(255,255,255,.8),8px 8px 20px rgba(174,174,192,.4),inset -2px -2px 8px rgba(255,255,255,.5),inset 2px 2px 8px rgba(174,174,192,.2);border:1px solid rgba(255,255,255,.8)}.clay-input.jsx-196d5bb1ef5f7c38{background:#f0eff4;-webkit-box-shadow:inset 4px 4px 8px rgba(174,174,192,.2),inset -4px -4px 8px rgba(255,255,255,.9);-moz-box-shadow:inset 4px 4px 8px rgba(174,174,192,.2),inset -4px -4px 8px rgba(255,255,255,.9);box-shadow:inset 4px 4px 8px rgba(174,174,192,.2),inset -4px -4px 8px rgba(255,255,255,.9)}.clay-button-primary.jsx-196d5bb1ef5f7c38{background:-webkit-linear-gradient(315deg,#b19cd9 0%,#87ceeb 100%);background:-moz-linear-gradient(315deg,#b19cd9 0%,#87ceeb 100%);background:-o-linear-gradient(315deg,#b19cd9 0%,#87ceeb 100%);background:linear-gradient(135deg,#b19cd9 0%,#87ceeb 100%);color:white;-webkit-box-shadow:-6px -6px 16px rgba(255,255,255,.8),6px 6px 16px rgba(107,91,149,.3);-moz-box-shadow:-6px -6px 16px rgba(255,255,255,.8),6px 6px 16px rgba(107,91,149,.3);box-shadow:-6px -6px 16px rgba(255,255,255,.8),6px 6px 16px rgba(107,91,149,.3);-webkit-transition:all.3s ease;-moz-transition:all.3s ease;-o-transition:all.3s ease;transition:all.3s ease}.clay-button-primary.jsx-196d5bb1ef5f7c38:hover:not(:disabled){-webkit-box-shadow:-4px -4px 12px rgba(255,255,255,.9),4px 4px 12px rgba(107,91,149,.4),inset -2px -2px 6px rgba(255,255,255,.3),inset 2px 2px 6px rgba(107,91,149,.2);-moz-box-shadow:-4px -4px 12px rgba(255,255,255,.9),4px 4px 12px rgba(107,91,149,.4),inset -2px -2px 6px rgba(255,255,255,.3),inset 2px 2px 6px rgba(107,91,149,.2);box-shadow:-4px -4px 12px rgba(255,255,255,.9),4px 4px 12px rgba(107,91,149,.4),inset -2px -2px 6px rgba(255,255,255,.3),inset 2px 2px 6px rgba(107,91,149,.2);-webkit-transform:translateY(-2px);-moz-transform:translateY(-2px);-ms-transform:translateY(-2px);-o-transform:translateY(-2px);transform:translateY(-2px)}.clay-icon-bg.jsx-196d5bb1ef5f7c38{background:rgba(240,239,244,.8);-webkit-box-shadow:inset 4px 4px 8px rgba(174,174,192,.2),inset -4px -4px 8px rgba(255,255,255,.9);-moz-box-shadow:inset 4px 4px 8px rgba(174,174,192,.2),inset -4px -4px 8px rgba(255,255,255,.9);box-shadow:inset 4px 4px 8px rgba(174,174,192,.2),inset -4px -4px 8px rgba(255,255,255,.9)}.floating-shape.jsx-196d5bb1ef5f7c38{position:absolute;-webkit-border-radius:50%;-moz-border-radius:50%;border-radius:50%;opacity:.6;-webkit-filter:blur(80px);filter:blur(80px)}.shape-1.jsx-196d5bb1ef5f7c38{width:500px;height:500px;background:#ffb6c1;top:-10%;left:-10%;-webkit-animation:float 10s ease-in-out infinite;-moz-animation:float 10s ease-in-out infinite;-o-animation:float 10s ease-in-out infinite;animation:float 10s ease-in-out infinite}.shape-2.jsx-196d5bb1ef5f7c38{width:400px;height:400px;background:#b19cd9;bottom:-10%;right:-10%;animation:float 12s ease-in-out infinite reverse}.shape-3.jsx-196d5bb1ef5f7c38{width:300px;height:300px;background:#87ceeb;top:40%;left:40%;-webkit-animation:float 14s ease-in-out infinite;-moz-animation:float 14s ease-in-out infinite;-o-animation:float 14s ease-in-out infinite;animation:float 14s ease-in-out infinite}@-webkit-keyframes float{0%,100%{-webkit-transform:translate(0,0);transform:translate(0,0)}50%{-webkit-transform:translate(40px,-40px);transform:translate(40px,-40px)}}@-moz-keyframes float{0%,100%{-moz-transform:translate(0,0);transform:translate(0,0)}50%{-moz-transform:translate(40px,-40px);transform:translate(40px,-40px)}}@-o-keyframes float{0%,100%{-o-transform:translate(0,0);transform:translate(0,0)}50%{-o-transform:translate(40px,-40px);transform:translate(40px,-40px)}}@keyframes float{0%,100%{-webkit-transform:translate(0,0);-moz-transform:translate(0,0);-o-transform:translate(0,0);transform:translate(0,0)}50%{-webkit-transform:translate(40px,-40px);-moz-transform:translate(40px,-40px);-o-transform:translate(40px,-40px);transform:translate(40px,-40px)}}"})]})};a.default=k}},function(e){e.O(0,[3996,6922,9774,2888,179],function(){return e(e.s=30459)}),_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.