1"use strict";(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[4988],{21138:(e,t,i)=>{i.d(t,{PW:()=>l,np:()=>o,pr:()=>n});var r=i(45049);let n=e=>{let t=localStorage.getItem(e);if(!t)return null;let i=t.split(":");if(!i||i.length<2)return null;let n=Number(i[0]),l=(0,r.lg)();if(-1!==n&&n<l)return o(e),null;let a=i[0]+":";return t.replace(a,"")},l=(e,t,i)=>{localStorage.setItem(e,i+":"+t)},o=e=>{localStorage.removeItem(e)}},30981:(e,t,i)=>{i.d(t,{wD:()=>r});let r={Theme:"THEME",InviteCode:"INVITE_CODE"}},37620:(e,t,i)=>{i.d(t,{J:()=>d});var r=i(92112),n=i(10428),l=i(49791),o=i(2630),a=i(98293);let s=(0,o.F)("text-sm font-medium leading-none peer-disabled:cursor-not-allowed peer-disabled:opacity-70"),d=n.forwardRef((e,t)=>{let{className:i,...n}=e;return(0,r.jsx)(l.b,{ref:t,className:(0,a.cn)(s(),i),...n})});d.displayName=l.b.displayName},45049:(e,t,i)=>{i.d(t,{lg:()=>r});let r=()=>Date.parse(new Date().toUTCString())/1e3},50418:(e,t,i)=>{i.d(t,{C:()=>c,h:()=>d});var r=i(10428);let n="tsoc:third-party-ready",l=["pointerdown","keydown","touchstart","scroll"],o=!1,a=new Set,s=()=>{!o&&(o=!0,a.forEach(e=>e()),a.clear(),window.dispatchEvent(new Event(n)))},d=()=>{s()},c=()=>{let[e,t]=(0,r.useState)(o);return(0,r.useEffect)(()=>{if(o){t(o);return}let e=()=>s(),i=()=>t(!0);return a.add(i),l.forEach(t=>{window.addEventListener(t,e,{passive:!0})}),window.addEventListener(n,e),()=>{a.delete(i),l.forEach(t=>{window.removeEventListener(t,e)}),window.removeEventListener(n,e)}},[]),e}},54231:(e,t,i)=>{i.d(t,{E:()=>a});var r=i(92112);i(10428);var n=i(2630),l=i(98293);let o=(0,n.F)("inline-flex items-center rounded-full border px-2.5 py-0.5 text-xs font-semibold transition-colors focus:outline-none focus:ring-2 focus:ring-ring focus:ring-offset-2",{variants:{variant:{default:"border-transparent bg-primary text-primary-foreground hover:bg-primary/80",secondary:"border-transparent bg-secondary text-secondary-foreground hover:bg-secondary/80",destructive:"border-transparent bg-destructive text-destructive-foreground hover:bg-destructive/80",outline:"text-foreground"}},defaultVariants:{variant:"default"}});function a(e){let{className:t,variant:i,...n}=e;return(0,r.jsx)("div",{className:(0,l.cn)(o({variant:i}),t),...n})}},71686:(e,t,i)=>{i.d(t,{$:()=>d,r:()=>s});var r=i(92112),n=i(10428),l=i(8804),o=i(2630),a=i(98293);let s=(0,o.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium ring-offset-background transition-colors focus-visible:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg]:size-4 [&_svg]:shrink-0",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-destructive-foreground hover:bg-destructive/90",outline:"border border-input bg-background hover:bg-accent hover:text-accent-foreground",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-10 px-2 py-2",sm:"h-9 rounded-md px-1",lg:"h-11 rounded-md px-6",icon:"h-10 w-10"}},defaultVariants:{variant:"default",size:"default"}}),d=n.forwardRef((e,t)=>{let{className:i,variant:n,size:o,asChild:d=!1,...c}=e,u=d?l.DX:"button";return(0,r.jsx)(u,{className:(0,a.cn)(s({variant:n,size:o,className:i})),ref:t,...c})});d.displayName="Button"},72283:(e,t,i)=>{i.r(t),i.d(t,{default:()=>Q});var r=i(92112),n=i(30975),l=i(39578),o=i(42746),a=i(75814),s=i(88028),d=i(86875),c=i(75167),u=i(67848),f=i(9405),m=i(22161),p=i(32978),g=i(24465),v=i(26571),h=i(26061),x=i(46212),b=i(22e3),y=i(96105),w=i(82864),R=i(14026),A=i(5184),j=i(56885),N=i(19482),L=i(46464),k=i(18212),_=i(97727),E=i(69028),C=i(6133),S=i(84919),D=i(92439),F=i(22564),T=i(26512),I=i(99525),M=i(18772),P=i(32021),O=i(47405),z=i(52276),q=i(7251),B=i(34049),U=i(72089),V=i(29352),G=i(32968),J=i(31330),$=i(84874);let H={RiUserLine:n.A,RiOrderPlayLine:l.A,RiArticleLine:o.A,RiMessage2Line:a.A,RiHomeLine:s.A,RiGithubLine:d.A,RiGithubFill:d.A,RiDiscordLine:a.A,RiDiscordFill:a.A,RiTwitterLine:c.A,RiTwitterXFill:c.A,RiAddLine:u.A,RiEditLine:f.A,RiEyeLine:m.A,RiBankCardLine:p.A,RiMoneyCnyCircleFill:g.A,RiMoneyDollarCircleLine:g.A,RiKey2Line:v.A,RiBookLine:h.A,RiBook2Fill:x.A,RiBookOpenFill:b.A,RiArrowUpLine:y.A,RiArrowDownLine:w.A,RiArrowRightLine:R.A,RiGamepadLine:A.A,RiGlobalLine:j.A,RiMapLine:N.A,RiListUnordered:L.A,RiInformationLine:k.A,RiLightbulbLine:_.A,RiQuestionLine:E.A,RiSwordLine:C.A,RiMore2Fill:S.A,RiMore2Line:S.A,RiMapPin2Fill:D.A,RiMapPinLine:F.A,RiEarthFill:j.A,RiEarthLine:j.A,RiCompassDiscoverLine:T.A,RiCopy2Line:I.A,RiFileTextLine:o.A,RiShareForward2Line:M.A,RiDragMoveFill:P.A,RiGraduationCapFill:O.A,RiSearchLine:z.A,RiMailLine:q.A,RiAnchorLine:B.A,RiSeedlingLine:U.A,RiBuildingLine:V.A,RiLeafLine:G.A,RiStackFill:J.A,RiFlashlightFill:$.A,Search:z.A};function Q(e){let{name:t,className:i,onClick:n,size:l,color:o}=e,a=H[t];return a?(0,r.jsx)(a,{className:i,onClick:n,size:l,color:o,style:{cursor:n?"pointer":"default",...l&&{fontSize:l},...o&&{color:o}}}):null}},74988:(e,t,i)=>{i.d(t,{default:()=>b});var r=i(92112),n=i(44652),l=i(95111),o=i(10428),a=i(16098),s=i(94740),d=i(98293);let c=o.forwardRef((e,t)=>
1{let{className:i,...n}=e;return(0,r.jsx)(a.bL,{className:(0,d.cn)("grid gap-2",i),...n,ref:t})});c.displayName=a.bL.displayName;let u=o.forwardRef((e,t)=>{let{className:i,...n}=e;return(0,r.jsx)(a.q7,{ref:t,className:(0,d.cn)("aspect-square h-4 w-4 rounded-full border border-primary text-primary ring-offset-background focus:outline-none focus-visible:ring-2 focus-visible:ring-ring focus-visible:ring-offset-2 disabled:cursor-not-allowed disabled:opacity-50",i),...n,children:(0,r.jsx)(a.C1,{className:"flex items-center justify-center",children:(0,r.jsx)(s.A,{className:"h-2.5 w-2.5 fill-current text-current"})})})});u.displayName=a.q7.displayName;var f=i(54231),m=i(71686),p=i(72283),g=i(37620),v=i(40290),h=i(86402),x=i(69092);function b(e){var t,i,a;let{pricing:s}=e;if(s.disabled)return null;let d=(0,x.Ym)(),{user:b,setShowSignModal:y}=(0,h.U)(),[w,R]=(0,o.useState)(()=>{var e,t,i;let r=null===(e=s.groups)||void 0===e?void 0:e.find(e=>e.is_featured);return(null==r?void 0:r.name)||(null===(i=s.groups)||void 0===i?void 0:null===(t=i[0])||void 0===t?void 0:t.name)}),[A,j]=(0,o.useState)(!1),[N,L]=(0,o.useState)(null),k=async function(e){let t=arguments.length>1&&void 0!==arguments[1]&&arguments[1];try{if(!b){y(!0);return}let i={product_id:e.product_id,currency:t?"cny":e.currency,locale:d||"en"};j(!0),L(e.product_id);let r=await fetch("/api/checkout",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(i)});if(401===r.status){j(!1),L(null),y(!0);return}let{code:n,message:l,data:o}=await r.json();if(0!==n){v.oR.error(l);return}let{checkout_url:a}=o;if(console.log("checkout_url: ",a),!a){v.oR.error("checkout failed");return}window.location.href=a}catch(e){console.log("checkout failed: ",e),v.oR.error("checkout failed")}finally{j(!1),L(null)}};return(0,o.useEffect)(()=>{if(s.items){var e;let t=s.items.find(e=>e.is_featured);L((null==t?void 0:t.product_id)||(null===(e=s.items[0])||void 0===e?void 0:e.product_id)),j(!1)}},[s.items]),(0,r.jsx)("section",{id:s.name,className:"py-16",children:(0,r.jsxs)("div",{className:"container",children:[(0,r.jsxs)("div",{className:"mx-auto mb-12 text-center",children:[(0,r.jsx)("h2",{className:"mb-4 text-4xl font-semibold lg:text-5xl",children:s.title}),(0,r.jsx)("p",{className:"text-muted-foreground lg:text-lg",children:s.description})]}),(0,r.jsxs)("div",{className:"w-full flex flex-col items-center gap-1",children:[s.groups&&s.groups.length>0&&(0,r.jsx)("div",{className:"flex h-12 mb-12 items-center rounded-md bg-muted p-1 text-lg",children:(0,r.jsx)(c,{value:w,className:"h-full grid-cols-".concat(s.groups.length),onValueChange:e=>{R(e)},children:s.groups.map((e,t)=>(0,r.jsxs)("div",{className:'h-full rounded-md transition-all has-[button[data-state="checked"]]:bg-white',children:[(0,r.jsx)(u,{value:e.name||"",id:e.name,className:"peer sr-only"}),(0,r.jsxs)(g.J,{htmlFor:e.name,className:"flex h-full cursor-pointer items-center justify-center px-4 font-semibold text-muted-foreground peer-data-[state=checked]:text-primary",children:[e.title,e.label&&(0,r.jsx)(f.E,{variant:"outline",className:"border-primary bg-primary px-1.5 ml-1 text-primary-foreground",children:e.label})]})]},t))})}),(0,r.jsx)("div",{className:"w-full mt-0 grid gap-6 md:grid-cols-".concat(null===(i=s.items)||void 0===i?void 0:null===(t=i.filter(e=>!e.group||e.group===w))||void 0===t?void 0:t.length),children:null===(a=s.items)||void 0===a?void 0:a.map((e,t)=>e.group&&e.group!==w?null:(0,r.jsx)("div",{className:"rounded-lg p-6 ".concat(e.is_featured?"border-primary border-2 bg-card text-card-foreground":"border-muted border"),children:(0,r.jsxs)("div",{className:"flex h-full flex-col justify-between gap-5",children:[(0,r.jsxs)("div",{children:[(0,r.jsxs)("div",{className:"flex items-center gap-2 mb-4",children:[e.title&&(0,r.jsx)("h3",{className:"text-xl font-semibold",children:e.title}),(0,r.jsx)("div",{className:"flex-1"}),e.label&&(0,r.jsx)(f.E,{variant:"outline",className:"border-primary bg-primary px-1.5 text-primary-foreground",children:e.label})]}),(0,r.jsxs)("div",{className:"flex items-end gap-2 mb-4",children:[e.original_price&&(0,r.jsx)("span",{className:"text-xl text-muted-foreground font-semibold line-through",children:e.original_price}),e.price&&(0,r.jsx)("span",{className:"text-5xl font-semibold",children:e.price}),e.unit&&(0,r.jsx)("span",{className:"block font-semibold",children:e.unit})]}),e.description&&(0,r.jsx)("p",{className:"text-muted-foreground",children:e.description}),e.features_title&&(0,r.jsx)("p",{className:"mb-3 mt-6 font-semibold",children:e.features_title}),e.features&&(0,r.jsx)("ul",{className:"flex flex-col gap-3",children:e.features.map((e,t)=>(0,r.jsxs)("li",{className:"flex gap-2",children:[(0,r.jsx)(n.A,{className:"mt-1 size-4 shrink-0"}),e]},"feature-".concat(t)))})]}),(0,r.jsxs)("div",{className:"flex flex-col gap-2",children:[e.cn_amount&&e.cn_amount>0?(0,r.jsxs)("div",{className:"flex items-center gap-x-2 mt-2",children:[(0,r.jsx)("span",{className:"text-sm",children:"人æ°å¸æ¯ä» \uD83D\uDC49"}),(0,r.jsx)("div",{className:"inline-block p-2 hover:cursor-pointer hover:bg-base-200 rounded-md",onClick:()=>{!A&&k(e,!0)},children:(0,r.jsx)("img",{src:"/imgs/cnpay.png",alt:"cnpay",className:"w-20 h-10 rounded-lg"})})]}):null,e.button&&(0,r.jsxs)(m.$,{className:"w-full flex items-center justify-center gap-2 font-semibold",disabled:A,onClick:()=>{!A&&k(e)},children:[(!A||A&&N!==e.product_id)&&(0,r.jsx)("p",{children:e.button.title}),A&&N===e.product_id&&(0,r.jsx)("p",{children:e.button.title}),A&&N===e.product_id&&(0,r.jsx)(l.A,{className:"mr-2 h-4 w-4 animate-spin"}),e.button.icon&&(0,r.jsx)(p.default,{name:e.button.icon,className:"size-4"})]}),e.tip&&(0,r.jsx)("p",{className:"text-muted-foreground text-sm mt-2",children:e.tip})]})]})},t))})]})]})})}},86402:(e,t,i)=>{i.d(t,{AppContextProvider:()=>m,U:()=>f});var r=i(92112),n=i(10428),l=i(21138),o=i(30981),a=i(18878),s=i.n(a),d=i(7553),c=i(50418);let u=(0,n.createContext)({}),f=()=>(0,n.useContext)(u),m=e=>{let{children:t}=e;!function(){let{data:e,status:t}=(0,d.wV)(),i=(0,c.C)(),l=(0,n.useRef)(!1),o=(0,n.useRef)(!1),a=(0,n.useRef)(null),s=()=>new Promise((e,t)=>
1{var i,r;if(null===(r=window.google)||void 0===r?void 0:null===(i=r.accounts)||void 0===i?void 0:i.id){e();return}let n=document.querySelector('script[data-google-one-tap="true"]');if(n){n.addEventListener("load",()=>e(),{once:!0}),n.addEventListener("error",()=>t(),{once:!0});return}let l=document.createElement("script");l.src="https://accounts.google.com/gsi/client",l.async=!0,l.defer=!0,l.dataset.googleOneTap="true",l.onload=()=>e(),l.onerror=()=>t(),document.head.appendChild(l)}),u=async function(){let e="754109928460-9gmo8nl0s6aj9sb6dt9959hdddjjf5l7.apps.googleusercontent.com";if(e)try{var t;await s();let i=window.google;if(!(null==i?void 0:null===(t=i.accounts)||void 0===t?void 0:t.id))return;l.current||(i.accounts.id.initialize({client_id:e,callback:e=>{console.log("onetap login ok",e),f(e.credential)},auto_select:!1,cancel_on_tap_outside:!1,context:"signin"}),l.current=!0);let r=()=>{i.accounts.id.prompt(e=>{var t,i,n,l,s,d,c,u;if(null===(t=e.isNotDisplayed)||void 0===t?void 0:t.call(e)){let t=null===(d=e.getNotDisplayedReason)||void 0===d?void 0:d.call(e);console.warn("onetap not displayed",t)}if(null===(i=e.isSkippedMoment)||void 0===i?void 0:i.call(e)){let t=null===(c=e.getSkippedReason)||void 0===c?void 0:c.call(e);console.warn("onetap skipped",t)}if(null===(n=e.isDismissedMoment)||void 0===n?void 0:n.call(e)){let t=null===(u=e.getDismissedReason)||void 0===u?void 0:u.call(e);console.warn("onetap dismissed",t);return}!o.current&&((null===(l=e.isNotDisplayed)||void 0===l?void 0:l.call(e))||(null===(s=e.isSkippedMoment)||void 0===s?void 0:s.call(e)))&&(o.current=!0,a.current=globalThis.setTimeout(()=>{r()},7e3))})};r()}catch(e){console.warn("google one tap load failed",e)}},f=async function(e){console.log("signIn ok",await (0,d.Jv)("google-one-tap",{credential:e,redirect:!1}))};(0,n.useEffect)(()=>{if(!i||"unauthenticated"!==t)return;let e=null,r=null,n=!1,l=()=>{n||u()};return"requestIdleCallback"in window?e=window.requestIdleCallback(l,{timeout:4500}):r=globalThis.setTimeout(l,4500),()=>{n=!0,null!==e&&"cancelIdleCallback"in window&&window.cancelIdleCallback(e),null!==r&&globalThis.clearTimeout(r),null!==a.current&&globalThis.clearTimeout(a.current)}},[t,i]),r.Fragment}();let{data:i}=(0,d.wV)(),[a,f]=(0,n.useState)(()=>"light"),[m,p]=(0,n.useState)(!1),[g,v]=(0,n.useState)(null),[h,x]=(0,n.useState)(!1),b=async function(){try{let e=await fetch("/api/get-user-info",{method:"POST"});if(!e.ok)throw Error("fetch user info failed with status: "+e.status);let{code:t,message:i,data:r}=await e.json();if(0!==t)throw Error(i);v(r),y(r)}catch(e){console.log("fetch user info failed")}},y=async e=>{try{if(e.invited_by){console.log("user already been invited",e.invited_by);return}let t=(0,l.pr)(o.wD.InviteCode);if(!t)return;let i=s()(e.created_at).unix(),r=s()().unix(),n=Number(r-i);if(n<=0||n>7200){console.log("user created more than 2 hours");return}console.log("update invite",t,e.uuid);let a={invite_code:t,user_uuid:e.uuid},d=await fetch("/api/update-invite",{method:"POST",headers:{"Content-Type":"application/json"},body:JSON.stringify(a)});if(!d.ok)throw Error("update invite failed with status: "+d.status);let{code:c,message:u,data:f}=await d.json();if(0!==c)throw Error(u);v(f),(0,l.np)(o.wD.InviteCode)}catch(e){console.log("update invite failed: ",e)}};return(0,n.useEffect)(()=>{i&&i.user&&b()},[i]),(0,r.jsx)(u.Provider,{value:{theme:a,setTheme:f,showSignModal:m,setShowSignModal:p,user:g,setUser:v,showFeedback:h,setShowFeedback:x},children:t})}},98293:(e,t,i)=>{i.d(t,{cn:()=>l});var r=i(27556),n=i(45836);function l(){for(var e=arguments.length,t=Array(e),i=0;i<e;i++)t[i]=arguments[i];return(0,n.QP)((0,r.$)(t))}}}]);
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.