1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[2580],{10250:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(46775).A)("circle-check",[["circle",{cx:"12",cy:"12",r:"10",key:"1mglay"}],["path",{d:"m9 12 2 2 4-4",key:"dzmm74"}]])},29414:(e,t,r)=>{r.d(t,{N:()=>y});var s=r(85047),a=r(31615),n=r(3164),o=r(8756),l=r(92824),i=r(80554),c=r(90567),d=r(21603);function u(e,t){if("function"==typeof e)return e(t);null!=e&&(e.current=t)}class m extends a.Component{getSnapshotBeforeUpdate(e){let t=this.props.childRef.current;if((0,c.s)(t)&&e.isPresent&&!this.props.isPresent&&!1!==this.props.pop){let e=t.offsetParent,r=(0,c.s)(e)&&e.offsetWidth||0,s=(0,c.s)(e)&&e.offsetHeight||0,a=getComputedStyle(t),n=this.props.sizeRef.current;n.height=parseFloat(a.height),n.width=parseFloat(a.width),n.top=t.offsetTop,n.left=t.offsetLeft,n.right=r-n.width-n.left,n.bottom=s-n.height-n.top,n.direction=a.direction}return null}componentDidUpdate(){}render(){return this.props.children}}function h({children:e,isPresent:t,anchorX:r,anchorY:n,root:o,pop:l}){let i=(0,a.useId)(),c=(0,a.useRef)(null),p=(0,a.useRef)({width:0,height:0,top:0,left:0,right:0,bottom:0,direction:"ltr"}),{nonce:f}=(0,a.useContext)(d.Q),g=function(...e){return a.useCallback(function(...e){return t=>{let r=!1,s=e.map(e=>{let s=u(e,t);return r||"function"!=typeof s||(r=!0),s});if(r)return()=>{for(let t=0;t<s.length;t++){let r=s[t];"function"==typeof r?r():u(e[t],null)}}}}(...e),e)}(c,e.props?.ref??e?.ref);return(0,a.useInsertionEffect)(()=>{let{width:e,height:s,top:a,left:d,right:u,bottom:m,direction:h}=p.current;if(t||!1===l||!c.current||!e||!s)return;let g="rtl"===h,x="left"===r?g?`right: ${u}`:`left: ${d}`:g?`left: ${d}`:`right: ${u}`,v="bottom"===n?`bottom: ${m}`:`top: ${a}`;c.current.dataset.motionPopId=i;let y=document.createElement("style");f&&(y.nonce=f);let b=o??document.head;return b.appendChild(y),y.sheet&&y.sheet.insertRule(` 2 [data-motion-pop-id="${i}"] { 3 position: absolute !important; 4 width: ${e}px !important; 5 height: ${s}px !important; 6 ${x}px !important; 7 ${v}px !important; 8 } 9 `),()=>{c.current?.removeAttribute("data-motion-pop-id"),b.contains(y)&&b.removeChild(y)}},[t]),(0,s.jsx)(m,{isPresent:t,childRef:c,sizeRef:p,pop:l,children:!1===l?e:a.cloneElement(e,{ref:g})})}let p=({children:e,initial:t,isPresent:r,onExitComplete:n,custom:l,presenceAffectsLayout:c,mode:d,anchorX:u,anchorY:m,root:p})=>{let g=(0,o.M)(f),x=(0,a.useId)(),v=!0,y=(0,a.useMemo)(()=>(v=!1,{id:x,initial:t,isPresent:r,custom:l,onExitComplete:e=>{for(let t of(g.set(e,!0),g.values()))if(!t)return;n&&n()},register:e=>(g.set(e,!1),()=>g.delete(e))}),[r,g,n]);return c&&v&&(y={...y}),(0,a.useMemo)(()=>{g.forEach((e,t)=>g.set(t,!1))},[r]),a.useEffect(()=>{r||g.size||!n||n()},[r]),e=(0,s.jsx)(h,{pop:"popLayout"===d,isPresent:r,anchorX:u,anchorY:m,root:p,children:e}),(0,s.jsx)(i.t.Provider,{value:y,children:e})};function f(){return new Map}var g=r(62989);let x=e=>e.key||"";function v(e){let t=[];return a.Children.forEach(e,e=>{(0,a.isValidElement)(e)&&t.push(e)}),t}let y=({children:e,custom:t,initial:r=!0,onExitComplete:i,presenceAffectsLayout:c=!0,mode:d="sync",propagate:u=!1,anchorX:m="left",anchorY:h="top",root:f})=>{let[y,b]=(0,g.xQ)(u),w=(0,a.useMemo)(()=>v(e),[e]),N=u&&!y?[]:w.map(x),j=(0,a.useRef)(!0),E=(0,a.useRef)(w),k=(0,o.M)(()=>new Map),S=(0,a.useRef)(new Set),[A,M]=(0,a.useState)(w),[$,C]=(0,a.useState)(w);(0,l.E)(()=>{j.current=!1,E.current=w;for(let e=0;e<$.length;e++){let t=x($[e]);N.includes(t)?(k.delete(t),S.current.delete(t)):!0!==k.get(t)&&k.set(t,!1)}},[$,N.length,N.join("-")]);let P=[];if(w!==A){let e=[...w];for(let t=0;t<$.length;t++){let r=$[t],s=x(r);N.includes(s)||(e.splice(t,0,r),P.push(r))}return"wait"===d&&P.length&&(e=P),C(v(e)),M(w),null}let{forceRender:R}=(0,a.useContext)(n.L);return(0,s.jsx)(s.Fragment,{children:$.map(e=>{let a=x(e),n=(!u||!!y)&&(w===$||N.includes(a));return(0,s.jsx)(p,{isPresent:n,initial:(!j.current||!!r)&&void 0,custom:t,presenceAffectsLayout:c,mode:d,root:f,onExitComplete:n?void 0:()=>
9{if(S.current.has(a)||!k.has(a))return;S.current.add(a),k.set(a,!0);let e=!0;k.forEach(t=>{t||(e=!1)}),e&&(R?.(),C(E.current),u&&b?.(),i&&i())},anchorX:m,anchorY:h,children:e},a)})})}},51577:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(46775).A)("users",[["path",{d:"M16 21v-2a4 4 0 0 0-4-4H6a4 4 0 0 0-4 4v2",key:"1yyitq"}],["path",{d:"M16 3.128a4 4 0 0 1 0 7.744",key:"16gr8j"}],["path",{d:"M22 21v-2a4 4 0 0 0-3-3.87",key:"kshegd"}],["circle",{cx:"9",cy:"7",r:"4",key:"nufk8"}]])},63533:(e,t,r)=>{r.d(t,{A:()=>s});let s=(0,r(46775).A)("calendar",[["path",{d:"M8 2v4",key:"1cmpym"}],["path",{d:"M16 2v4",key:"4m81vk"}],["rect",{width:"18",height:"18",x:"3",y:"4",rx:"2",key:"1hopcy"}],["path",{d:"M3 10h18",key:"8toen8"}]])},92580:(e,t,r)=>{r.r(t),r.d(t,{HomepageStats:()=>b});var s=r(85047),a=r(31615),n=r(33700),o=r(29414),l=r(82520),i=r(42165),c=r(21410),d=r(51577),u=r(9),m=r(63972),h=r(10250),p=r(63533);let f=["æéæ","åå¡å«","ç´å
","海夢","è²è²","鲿¯","鳴海弦","å°æ","æ æ ","å°æ°","å°å"],g=["{æ±ç¨±} ååè´å©äºå¹³å°","{æ±ç¨±} 宿äºé ç´","{æ±ç¨±} 使ç¨äºæè³å測åè½","{æ±ç¨±} 使ç¨äºé伿¨¡æ¬åè½"];function x({value:e,duration:t=2e3,prefix:r="",suffix:n="",start:o=!1}){let[l,i]=(0,a.useState)(0),c=(0,a.useRef)(void 0),d=(0,a.useRef)(void 0);return(0,a.useEffect)(()=>{if(!o)return void i(0);d.current=performance.now();let r=s=>{if(!d.current)return;let a=Math.min((s-d.current)/t,1);i(Math.floor(0+(e-0)*(1-Math.pow(1-a,4)))),a<1?c.current=requestAnimationFrame(r):i(e)};return c.current=requestAnimationFrame(r),()=>{c.current&&cancelAnimationFrame(c.current)}},[e,t,o]),(0,s.jsxs)("span",{children:[r,l.toLocaleString(),n]})}function v({stats:e,isLoading:t}){let[r,o]=(0,a.useState)(new Set),l=e?[{id:"total-registered",label:"註åç¨æ¶",value:e.totals.registeredUsers,suffix:"+",icon:a.createElement(d.A,{className:"w-8 h-8"}),color:"from-accent to-blue-600"},{id:"sponsor-count",label:"è´å©è
",value:e.totals.sponsorCount,suffix:"+",icon:a.createElement(u.A,{className:"w-8 h-8"}),color:"from-yellow-500 to-yellow-600"},{id:"active-monthly",label:"æ¯æè´å©",value:e.totals.activeMonthlySponsors,suffix:"+",icon:a.createElement(m.A,{className:"w-8 h-8"}),color:"from-purple-500 to-purple-700"},{id:"recent-sponsor-payments",label:"è¿ 30 天è´å©",value:e.last30d.sponsorshipPaymentsSuccessCount,suffix:" ç",icon:a.createElement(h.A,{className:"w-8 h-8"}),color:"from-purple-500 to-purple-700"}]:[];return(0,s.jsx)("section",{className:"py-20 bg-gradient-to-br from-background via-accent/20 via-purple-500/20 to-background relative overflow-hidden border-b border-border/50",children:(0,s.jsxs)("div",{className:"container relative z-10",children:[(0,s.jsxs)(n.P.div,{initial:{opacity:0,y:20},whileInView:{opacity:1,y:0},viewport:{once:!0,margin:"-100px"},transition:{duration:.6},className:"text-center mb-16",children:[(0,s.jsx)("h2",{className:"text-3xl md:text-4xl font-bold tracking-tight mb-4",children:"æ¸ææèªªè©±"}),(0,s.jsx)("p",{className:"text-xl text-muted-foreground max-w-2xl mx-auto",children:"çå¯¦æ¸æå±ç¾æåçæåææ"})]}),t?(0,s.jsx)("div",{className:"grid gap-8 md:grid-cols-2 lg:grid-cols-4",children:[1,2,3,4].map(e=>(0,s.jsxs)("div",{className:"relative p-8 rounded-2xl border-2 border-border/80 shadow-xl dark:shadow-none bg-card/98 overflow-hidden animate-pulse",children:[(0,s.jsx)("div",{className:"h-16 w-16 rounded-xl bg-muted/50 absolute top-6 right-6"}),(0,s.jsx)("div",{className:"h-12 w-24 bg-muted/50 rounded mb-4"}),(0,s.jsx)("div",{className:"h-6 w-32 bg-muted/50 rounded"})]},e))}):l.length>0?(0,s.jsx)("div",{className:"grid gap-8 md:grid-cols-2 lg:grid-cols-4",children:l.map((e,t)=>(0,s.jsx)(n.P.div,{initial:{opacity:0,y:30,scale:.9},whileInView:{opacity:1,y:0,scale:1},viewport:{once:!0,margin:"-50px"},transition:{duration:.5,delay:.1*t},onViewportEnter:()=>{o(t=>new Set(t).add(e.id))},className:"relative",children:(0,s.jsxs)("div",{className:"relative p-8 rounded-2xl border-2 border-border/80 shadow-xl dark:shadow-none transition-all bg-card/98 overflow-hidden hover:shadow-2xl hover:border-accent/50 hover:scale-105",children:[(0,s.jsx)("div",{className:`absolute top-6 right-6 w-16 h-16 rounded-xl bg-gradient-to-br ${e.color} opacity-80 flex items-center justify-center`,children:(0,s.jsx)("div",{className:"text-white",children:e.icon})}),(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-b from-accent/5 via-purple-500/5 to-transparent roun
9ded-2xl"}),(0,s.jsxs)("div",{className:"relative z-10",children:[(0,s.jsx)("div",{className:"mb-2",children:(0,s.jsx)("div",{className:`text-4xl md:text-5xl font-bold bg-gradient-to-r ${e.color} bg-clip-text text-transparent`,children:(0,s.jsx)(x,{value:e.value,prefix:e.prefix,suffix:e.suffix,start:r.has(e.id)})})}),(0,s.jsx)("p",{className:"text-muted-foreground font-medium text-lg",children:e.label})]})]})},e.id))}):null]})})}function y({stats:e,isLoading:t}){let[r,x]=(0,a.useState)(0),[v,b]=(0,a.useState)(!0),[w,N]=(0,a.useState)(!1),[j,E]=(0,a.useState)(!1),k=(0,a.useRef)([]),S=(0,a.useRef)(!1);(0,a.useEffect)(()=>{"true"===localStorage.getItem("urgency_messages_dismissed")&&N(!0)},[]);let A=()=>{k.current.forEach(e=>clearTimeout(e)),k.current=[]},M=(0,a.useMemo)(()=>{let t;return[...function(e){if(!e)return[];let t=[];return e.totals.registeredUsers>0&&t.push({id:"total-registered",type:"registration",message:`ç®åå·²æ ${e.totals.registeredUsers.toLocaleString()} 人註å`,icon:a.createElement(d.A,{className:"w-4 h-4"})}),e.last30d.registeredUsers>0&&t.push({id:"recent-registered",type:"registration",message:`è¿ 30 天已æ ${e.last30d.registeredUsers} 人å å
¥æå`,icon:a.createElement(d.A,{className:"w-4 h-4"})}),e.totals.sponsorCount>0&&t.push({id:"sponsor-count",type:"plan_selection",message:`å·²æ ${e.totals.sponsorCount} ä½è´å©è
æ¯ææå`,icon:a.createElement(u.A,{className:"w-4 h-4"})}),e.totals.activeMonthlySponsors>0&&t.push({id:"active-monthly",type:"activity",message:`ç®åæ ${e.totals.activeMonthlySponsors} 使¯æè´å©è
`,icon:a.createElement(m.A,{className:"w-4 h-4"})}),e.last30d.sponsorshipPaymentsSuccessCount>0&&t.push({id:"recent-sponsor-payments",type:"activity",message:`è¿ 30 天æ¶å° ${e.last30d.sponsorshipPaymentsSuccessCount} çè´å©`,icon:a.createElement(h.A,{className:"w-4 h-4"})}),void 0!==e.todayAvailableSlots&&e.todayAvailableSlots>0&&t.push({id:"today-slots",type:"urgency",message:`ä»å¤©å
å© ${e.todayAvailableSlots} åé ç´ææ®µ`,icon:a.createElement(p.A,{className:"w-4 h-4"})}),t}(e),...(t=[],g.forEach((e,r)=>{let s=f[Math.floor(Math.random()*f.length)],n=e.replace("{æ±ç¨±}",s),o="activity",l=a.createElement(h.A,{className:"w-4 h-4"});e.includes("è´å©")?(o="plan_selection",l=a.createElement(u.A,{className:"w-4 h-4"})):e.includes("é ç´")&&(l=a.createElement(p.A,{className:"w-4 h-4"})),t.push({id:`static-${r}`,type:o,message:n,icon:l})}),t)]},[e]);if((0,a.useEffect)(()=>{if(A(),E(!1),S.current=!1,w||t||0===M.length)return;S.current=!0;let e=setTimeout(()=>{E(!0)},1e3*(Math.floor(6*Math.random())+3));return k.current.push(e),()=>{clearTimeout(e)}},[w,t,M.length]),(0,a.useEffect)(()=>{if(w||!j||0===M.length)return;let e=()=>{let t=setTimeout(()=>{b(!1);let t=setTimeout(()=>{x(e=>(e+1)%M.length),b(!0),e()},300);k.current.push(t)},1e3*(Math.floor(16*Math.random())+15));k.current.push(t)};return e(),()=>{A()}},[w,j,M.length]),w||t||0===M.length||!j)return null;let $=M[r];return(0,s.jsx)(n.P.div,{initial:{opacity:0,x:-20},animate:{opacity:1,x:0},transition:{duration:.5},className:"fixed bottom-2 left-2 md:bottom-4 md:left-4 z-50 w-auto max-w-[280px] sm:max-w-sm md:max-w-md",children:(0,s.jsxs)(l.Zp,{className:"border-2 border-border/80 shadow-xl dark:shadow-none bg-card/98 relative overflow-hidden backdrop-blur-sm",children:[(0,s.jsx)("div",{className:"absolute inset-0 bg-gradient-to-br from-accent/10 via-purple-500/10 to-transparent"}),(0,s.jsx)("div",{className:"relative z-10 p-3 md:p-4 pr-8 md:pr-10",children:(0,s.jsx)(o.N,{mode:"wait",children:v&&(0,s.jsxs)(n.P.div,{initial:{opacity:0,y:10},animate:{opacity:1,y:0},exit:{opacity:0,y:-10},transition:{duration:.3},className:"flex items-center gap-3",children:[$.icon&&(0,s.jsx)("div",{className:"flex-shrink-0 w-7 h-7 md:w-8 md:h-8 rounded-lg bg-gradient-to-br from-accent/20 to-purple-500/20 flex items-center justify-center text-accent",children:$.icon}),(0,s.jsx)("p",{className:"text-xs md:text-sm font-medium text-foreground flex-1 leading-tight",children:$.message})]},$.id)})}),(0,s.jsx)(c.$,{variant:"ghost",size:"icon",className:"absolute top-2 right-2 h-6 w-6 rounded-full opacity-70 hover:opacity-100 z-20",onClick:()=>{N(!0),localStorage.setItem("urgency_messages_dismissed","true")},"aria-label":"ééè¨æ¯",children:(0,s.jsx)(i.A,{className:"h-4 w-4"})})]})})}function b({initialStats:e=null}){let[t,r]=(0,a.useState)(e),[n,o]=(0,a.useState)(null==e);return(0,a.useEffect)(()=>{null==e&&t();async function t(){try{o(!0);let e=await fetch("/api/public/homepage-stats");if(e.ok){let t=await e.json();t.success&&t.data&&r(t.data)}}catch(e){console.error("è¼å
¥é¦é çµ±è¨æ¸æå¤±æ:",e)}finally{o(!1)}}},[e]),(0,s.jsxs)(s.Fragment,{children:[(0,s.jsx)(y,{stats:t,isLoading:n}),(0,s.jsx)(v,{stats:t,isLoading:n})]})}}}]);
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.