Files
chinese-family-tree-2/.next/static/chunks/115b855ac6813f89.js
T
freedakgmail 3b0d8255f6 0.0.8.1
2025-11-23 19:38:51 +08:00

1 line
12 KiB
JavaScript

(globalThis.TURBOPACK||(globalThis.TURBOPACK=[])).push(["object"==typeof document?document.currentScript:void 0,90405,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"warnOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},53996,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={assign:function(){return s},searchParamsToUrlQuery:function(){return a},urlQueryToSearchParams:function(){return u}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});function a(e){let t={};for(let[r,n]of e.entries()){let e=t[r];void 0===e?t[r]=n:Array.isArray(e)?e.push(n):t[r]=[e,n]}return t}function i(e){return"string"==typeof e?e:("number"!=typeof e||isNaN(e))&&"boolean"!=typeof e?"":String(e)}function u(e){let t=new URLSearchParams;for(let[r,n]of Object.entries(e))if(Array.isArray(n))for(let e of n)t.append(r,i(e));else t.set(r,i(n));return t}function s(e,...t){for(let r of t){for(let t of r.keys())e.delete(t);for(let[t,n]of r.entries())e.append(t,n)}return e}},55020,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={formatUrl:function(){return u},formatWithValidation:function(){return l},urlObjectKeys:function(){return s}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(88835)._(e.r(53996)),i=/https?|ftp|gopher|file/;function u(e){let{auth:t,hostname:r}=e,n=e.protocol||"",o=e.pathname||"",u=e.hash||"",s=e.query||"",l=!1;t=t?encodeURIComponent(t).replace(/%3A/i,":")+"@":"",e.host?l=t+e.host:r&&(l=t+(~r.indexOf(":")?`[${r}]`:r),e.port&&(l+=":"+e.port)),s&&"object"==typeof s&&(s=String(a.urlQueryToSearchParams(s)));let c=e.search||s&&`?${s}`||"";return n&&!n.endsWith(":")&&(n+=":"),e.slashes||(!n||i.test(n))&&!1!==l?(l="//"+(l||""),o&&"/"!==o[0]&&(o="/"+o)):l||(l=""),u&&"#"!==u[0]&&(u="#"+u),c&&"?"!==c[0]&&(c="?"+c),o=o.replace(/[?#]/g,encodeURIComponent),c=c.replace("#","%23"),`${n}${l}${o}${c}${u}`}let s=["auth","hash","host","hostname","href","path","pathname","port","protocol","query","search","slashes"];function l(e){return u(e)}},45707,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"useMergedRef",{enumerable:!0,get:function(){return o}});let n=e.r(34346);function o(e,t){let r=(0,n.useRef)(null),o=(0,n.useRef)(null);return(0,n.useCallback)(n=>{if(null===n){let e=r.current;e&&(r.current=null,e());let t=o.current;t&&(o.current=null,t())}else e&&(r.current=a(e,n)),t&&(o.current=a(t,n))},[e,t])}function a(e,t){if("function"!=typeof e)return e.current=t,()=>{e.current=null};{let r=e(t);return"function"==typeof r?r:()=>e(null)}}("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},70715,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={DecodeError:function(){return g},MiddlewareNotFoundError:function(){return x},MissingStaticPage:function(){return j},NormalizeError:function(){return b},PageNotFoundError:function(){return v},SP:function(){return y},ST:function(){return m},WEB_VITALS:function(){return a},execOnce:function(){return i},getDisplayName:function(){return f},getLocationOrigin:function(){return l},getURL:function(){return c},isAbsoluteUrl:function(){return s},isResSent:function(){return d},loadGetInitialProps:function(){return h},normalizeRepeatedSlashes:function(){return p},stringifyError:function(){return P}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=["CLS","FCP","FID","INP","LCP","TTFB"];function i(e){let t,r=!1;return(...n)=>(r||(r=!0,t=e(...n)),t)}let u=/^[a-zA-Z][a-zA-Z\d+\-.]*?:/,s=e=>u.test(e);function l(){let{protocol:e,hostname:t,port:r}=window.location;return`${e}//${t}${r?":"+r:""}`}function c(){let{href:e}=window.location,t=l();return e.substring(t.length)}function f(e){return"string"==typeof e?e:e.displayName||e.name||"Unknown"}function d(e){return e.finished||e.headersSent}function p(e){let t=e.split("?");return t[0].replace(/\\/g,"/").replace(/\/\/+/g,"/")+(t[1]?`?${t.slice(1).join("?")}`:"")}async function h(e,t){let r=t.res||t.ctx&&t.ctx.res;if(!e.getInitialProps)return t.ctx&&t.Component?{pageProps:await h(t.Component,t.ctx)}:{};let n=await e.getInitialProps(t);if(r&&d(r))return n;if(!n)throw Object.defineProperty(Error(`"${f(e)}.getInitialProps()" should resolve to an object. But found "${n}" instead.`),"__NEXT_ERROR_CODE",{value:"E394",enumerable:!1,configurable:!0});return n}let y="undefined"!=typeof performance,m=y&&["mark","measure","getEntriesByName"].every(e=>"function"==typeof performance[e]);class g extends Error{}class b extends Error{}class v extends Error{constructor(e){super(),this.code="ENOENT",this.name="PageNotFoundError",this.message=`Cannot find module for page: ${e}`}}class j extends Error{constructor(e,t){super(),this.message=`Failed to load static file for page: ${e} ${t}`}}class x extends Error{constructor(){super(),this.code="ENOENT",this.message="Cannot find the middleware module"}}function P(e){return JSON.stringify({message:e.message,stack:e.stack})}},17485,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"isLocalURL",{enumerable:!0,get:function(){return a}});let n=e.r(70715),o=e.r(57352);function a(e){if(!(0,n.isAbsoluteUrl)(e))return!0;try{let t=(0,n.getLocationOrigin)(),r=new URL(e,t);return r.origin===t&&(0,o.hasBasePath)(r.pathname)}catch(e){return!1}}},85893,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0}),Object.defineProperty(r,"errorOnce",{enumerable:!0,get:function(){return n}});let n=e=>{}},3965,(e,t,r)=>{"use strict";Object.defineProperty(r,"__esModule",{value:!0});var n={default:function(){return g},useLinkStatus:function(){return v}};for(var o in n)Object.defineProperty(r,o,{enumerable:!0,get:n[o]});let a=e.r(88835),i=e.r(36792),u=a._(e.r(34346)),s=e.r(55020),l=e.r(12569),c=e.r(45707),f=e.r(70715),d=e.r(19664);e.r(90405);let p=e.r(44164),h=e.r(17485),y=e.r(36283);function m(e){return"string"==typeof e?e:(0,s.formatUrl)(e)}function g(t){var r;let n,o,a,[s,g]=(0,u.useOptimistic)(p.IDLE_LINK_STATUS),v=(0,u.useRef)(null),{href:j,as:x,children:P,prefetch:O=null,passHref:_,replace:C,shallow:N,scroll:S,onClick:E,onMouseEnter:w,onTouchStart:T,legacyBehavior:R=!1,onNavigate:L,ref:k,unstable_dynamicOnHover:M,...A}=t;n=P,R&&("string"==typeof n||"number"==typeof n)&&(n=(0,i.jsx)("a",{children:n}));let I=u.default.useContext(l.AppRouterContext),U=!1!==O,$=!1!==O?null===(r=O)||"auto"===r?y.FetchStrategy.PPR:y.FetchStrategy.Full:y.FetchStrategy.PPR,{href:F,as:B}=u.default.useMemo(()=>{let e=m(j);return{href:e,as:x?m(x):e}},[j,x]);if(R){if(n?.$$typeof===Symbol.for("react.lazy"))throw Object.defineProperty(Error("`<Link legacyBehavior>` received a direct child that is either a Server Component, or JSX that was loaded with React.lazy(). This is not supported. Either remove legacyBehavior, or make the direct child a Client Component that renders the Link's `<a>` tag."),"__NEXT_ERROR_CODE",{value:"E863",enumerable:!1,configurable:!0});o=u.default.Children.only(n)}let D=R?o&&"object"==typeof o&&o.ref:k,K=u.default.useCallback(e=>(null!==I&&(v.current=(0,p.mountLinkInstance)(e,F,I,$,U,g)),()=>{v.current&&((0,p.unmountLinkForCurrentNavigation)(v.current),v.current=null),(0,p.unmountPrefetchableInstance)(e)}),[U,F,I,$,g]),z={ref:(0,c.useMergedRef)(K,D),onClick(t){R||"function"!=typeof E||E(t),R&&o.props&&"function"==typeof o.props.onClick&&o.props.onClick(t),!I||t.defaultPrevented||function(t,r,n,o,a,i,s){if("undefined"!=typeof window){let l,{nodeName:c}=t.currentTarget;if("A"===c.toUpperCase()&&((l=t.currentTarget.getAttribute("target"))&&"_self"!==l||t.metaKey||t.ctrlKey||t.shiftKey||t.altKey||t.nativeEvent&&2===t.nativeEvent.which)||t.currentTarget.hasAttribute("download"))return;if(!(0,h.isLocalURL)(r)){a&&(t.preventDefault(),location.replace(r));return}if(t.preventDefault(),s){let e=!1;if(s({preventDefault:()=>{e=!0}}),e)return}let{dispatchNavigateAction:f}=e.r(35686);u.default.startTransition(()=>{f(n||r,a?"replace":"push",i??!0,o.current)})}}(t,F,B,v,C,S,L)},onMouseEnter(e){R||"function"!=typeof w||w(e),R&&o.props&&"function"==typeof o.props.onMouseEnter&&o.props.onMouseEnter(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)},onTouchStart:function(e){R||"function"!=typeof T||T(e),R&&o.props&&"function"==typeof o.props.onTouchStart&&o.props.onTouchStart(e),I&&U&&(0,p.onNavigationIntent)(e.currentTarget,!0===M)}};return(0,f.isAbsoluteUrl)(B)?z.href=B:R&&!_&&("a"!==o.type||"href"in o.props)||(z.href=(0,d.addBasePath)(B)),a=R?u.default.cloneElement(o,z):(0,i.jsx)("a",{...A,...z,children:n}),(0,i.jsx)(b.Provider,{value:s,children:a})}e.r(85893);let b=(0,u.createContext)(p.IDLE_LINK_STATUS),v=()=>(0,u.useContext)(b);("function"==typeof r.default||"object"==typeof r.default&&null!==r.default)&&void 0===r.default.__esModule&&(Object.defineProperty(r.default,"__esModule",{value:!0}),Object.assign(r.default,r),t.exports=r.default)},27458,e=>{"use strict";let t=(0,e.i(27706).default)("BookOpen",[["path",{d:"M12 7v14",key:"1akyts"}],["path",{d:"M3 18a1 1 0 0 1-1-1V4a1 1 0 0 1 1-1h5a4 4 0 0 1 4 4 4 4 0 0 1 4-4h5a1 1 0 0 1 1 1v13a1 1 0 0 1-1 1h-6a3 3 0 0 0-3 3 3 3 0 0 0-3-3z",key:"ruj8y"}]]);e.s(["BookOpen",()=>t],27458)},96601,e=>{"use strict";var t=e.i(36792),r=e.i(34346),n=e.i(69074),o=e.i(3965),a=e.i(9991),i=e.i(77627),u=e.i(75985),s=e.i(10743),l=e.i(12039),c=e.i(27458);function f(){let e=(0,n.useRouter)(),[f,d]=(0,r.useState)(""),[p,h]=(0,r.useState)(""),[y,m]=(0,r.useState)(""),[g,b]=(0,r.useState)(""),[v,j]=(0,r.useState)(""),[x,P]=(0,r.useState)(!1),O=async t=>{if(t.preventDefault(),j(""),y!==g)return void j("两次输入的密码不一致");if(y.length<6)return void j("密码至少需要6个字符");P(!0);try{let t=await fetch("/api/auth/register",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify({name:f,email:p,password:y})}),r=await t.json();if(!t.ok)return void j(r.error||"注册失败");e.push("/auth/signin?registered=true")}catch(e){j("注册失败,请稍后重试")}finally{P(!1)}};return(0,t.jsx)("div",{className:"min-h-screen flex items-center justify-center bg-gradient-to-br from-primary/5 via-background to-secondary/5 p-4",children:(0,t.jsxs)(s.Card,{className:"w-full max-w-md",children:[(0,t.jsxs)(s.CardHeader,{className:"space-y-1 text-center",children:[(0,t.jsx)("div",{className:"flex justify-center mb-4",children:(0,t.jsx)("div",{className:"flex h-12 w-12 items-center justify-center rounded-lg bg-primary text-primary-foreground",children:(0,t.jsx)(c.BookOpen,{className:"h-7 w-7"})})}),(0,t.jsx)(s.CardTitle,{className:"text-2xl font-serif",children:"注册"}),(0,t.jsx)(s.CardDescription,{children:"创建您的华夏谱账号"})]}),(0,t.jsxs)("form",{onSubmit:O,children:[(0,t.jsxs)(s.CardContent,{className:"space-y-4",children:[v&&(0,t.jsx)(l.Alert,{variant:"destructive",children:(0,t.jsx)(l.AlertDescription,{children:v})}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.Label,{htmlFor:"name",children:"姓名"}),(0,t.jsx)(i.Input,{id:"name",type:"text",placeholder:"张三",value:f,onChange:e=>d(e.target.value),disabled:x})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.Label,{htmlFor:"email",children:"邮箱"}),(0,t.jsx)(i.Input,{id:"email",type:"email",placeholder:"your@email.com",value:p,onChange:e=>h(e.target.value),required:!0,disabled:x})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.Label,{htmlFor:"password",children:"密码"}),(0,t.jsx)(i.Input,{id:"password",type:"password",placeholder:"至少6个字符",value:y,onChange:e=>m(e.target.value),required:!0,disabled:x})]}),(0,t.jsxs)("div",{className:"space-y-2",children:[(0,t.jsx)(u.Label,{htmlFor:"confirmPassword",children:"确认密码"}),(0,t.jsx)(i.Input,{id:"confirmPassword",type:"password",placeholder:"再次输入密码",value:g,onChange:e=>b(e.target.value),required:!0,disabled:x})]})]}),(0,t.jsxs)(s.CardFooter,{className:"flex flex-col space-y-4 pt-6",children:[(0,t.jsx)(a.Button,{type:"submit",className:"w-full",disabled:x,children:x?"注册中...":"注册"}),(0,t.jsxs)("div",{className:"text-sm text-center text-muted-foreground",children:["已有账号?"," ",(0,t.jsx)(o.default,{href:"/auth/signin",className:"text-primary hover:underline",children:"立即登录"})]})]})]})]})})}e.s(["default",()=>f])}]);