PageSourceSearch

https://seedance-2.app/_next/static/chunks/81776-5c5870e06dff4a30.js

js seedance-2.app collected 2026-10-08 12:13:56 UTC 54,574 bytes, 1 lines download raw bytes

1(self.webpackChunk_N_E=self.webpackChunk_N_E||[]).push([[81776],{2076:(e,t,r)=>{"use strict";r.d(t,{_:()=>m});var a,n,s,i,l,o,d,c,u=r(55036);let m={app_url:"https://seedance-2.app",app_name:"Seedance 2.0 AI",app_description:null!=(a=u.env.NEXT_PUBLIC_APP_DESCRIPTION)?a:"",app_logo:"/logo.png",app_favicon:null!=(n=u.env.NEXT_PUBLIC_APP_FAVICON)?n:"/favicon.ico",app_preview_image:null!=(s=u.env.NEXT_PUBLIC_APP_PREVIEW_IMAGE)?s:"/preview.png",theme:"default",appearance:"system",dark_mode_only:null!=(i=u.env.NEXT_PUBLIC_DARK_MODE_ONLY)?i:"false",locale:null!=(l=u.env.NEXT_PUBLIC_DEFAULT_LOCALE)?l:"en",locale_detector_enabled:null!=(o=u.env.NEXT_PUBLIC_LOCALE_DETECTOR_ENABLED)?o:"true",locale_detect_enabled:null!=(c=null!=(d=u.env.NEXT_PUBLIC_LOCALE_DETECT_ENABLED)?d:u.env.NEXT_PUBLIC_LOCALE_DETECTOR_ENABLED)?c:"false",auth_url:u.env.NEXT_PUBLIC_AUTH_URL||"https://seedance-2.app"}},2918:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Copyright:()=>i});var a=r(72590),n=r(79998),s=r(2076);function i(e){let{brand:t}=e,[r,i]=(0,n.useState)(null);return(0,n.useEffect)(()=>{i(new Date().getFullYear())},[]),(0,a.jsxs)("div",{className:"text-muted-foreground text-sm",children:["\xa9 ",r||2024," ",(0,a.jsx)("a",{href:(null==t?void 0:t.url)||s._.app_url,target:(null==t?void 0:t.target)||"",className:"text-primary hover:text-primary/80 cursor-pointer",children:(null==t?void 0:t.title)||s._.app_name}),", All rights reserved"]})}},11132:(e,t,r)=>{"use strict";r.d(t,{L:()=>I});var a=r(72590),n=r(88708),s=r(40952),i=r(30079),l=r(37070),o=r(71524),d=r(45599),c=r(55963),u=r(29397),m=r(33477),p=r(30979),f=r(80461),h=r(93277),g=r(35614),v=r(39143),x=r(52903),b=r(20494),w=r(67876),j=r(7818),y=r(10466),N=r(59739),k=r(64284),_=r(14428),E=r(11229),A=r(65657),L=r(49296),R=r(49149),C=r(42126),z=r(98566),S=r(91083),P=r(36273),U=r(95540),T=r(74326),D=r(41960);let M={Activity:n.A,ArrowLeft:s.A,ArrowUpRight:i.A,Ban:l.A,BarChart3:o.A,BookOpen:d.A,Brain:c.A,Coins:u.A,CreditCard:m.A,DollarSign:p.A,FileText:f.A,Folder:h.A,Github:g.A,History:v.A,Home:x.A,Image:b.A,Key:w.A,Mail:j.A,Menu:y.A,MessageCircle:N.A,Newspaper:k.A,Pencil:_.A,Plus:E.A,Search:A.A,Settings:L.A,ShieldCheck:R.A,Sparkles:C.A,User:z.A,Users:S.A,WandSparkles:P.A,Zap:U.A,RiAddLine:D.Ld_,RiChat2Line:D.uFs,RiComputerFill:D.M3G,RiDeleteBinLine:D.WFf,RiDiscordFill:D.r53,RiEditLine:D.Ics,RiEyeLine:D.tLq,RiFileImageFill:D.e55,RiFlashlightFill:D.bwM,RiGalleryFill:D.xn8,RiKeyLine:D.fje,RiLockPasswordLine:D.EhT,RiQuillPenFill:D.FwI,RiRefreshLine:D.Ll9,RiShareCircleFill:D.IuC,RiTaskLine:D.fQp,RiTerminalBoxFill:D.wpg,RiTwitterXFill:D.ase};function I(e){let{name:t,size:r=24,className:n,...s}=e,i=M[t];if(!i){let e=(null==t?void 0:t.startsWith("Ri"))?D.Kt4:T.A;return(0,a.jsx)(e,{size:r,className:n,...s})}return(0,a.jsx)(i,{size:r,className:n,...s})}},20464:(e,t,r)=>{"use strict";r.r(t),r.d(t,{Pagination:()=>w});var a=r(72590),n=r(59987),s=r(79998),i=r(24866),l=r(38867),o=r(32014),d=r(83461),c=r(96534);let u=e=>{let{className:t,...r}=e;return(0,a.jsx)("nav",{role:"navigation","aria-label":"pagination",className:(0,d.cn)("mx-auto flex w-full",t),...r})};u.displayName="Pagination";let m=s.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("ul",{ref:t,className:(0,d.cn)("flex flex-row items-center gap-1",r),...n})});m.displayName="PaginationContent";let p=s.forwardRef((e,t)=>{let{className:r,...n}=e;return(0,a.jsx)("li",{ref:t,className:(0,d.cn)("",r),...n})});p.displayName="PaginationItem";let f=e=>{let{className:t,isActive:r,size:n="icon",...s}=e;return(0,a.jsx)("a",{"aria-current":r?"page":void 0,className:(0,d.cn)((0,c.r)({variant:r?"outline":"ghost",size:n}),t),...s})};f.displayName="PaginationLink";let h=e=>{let{className:t,...r}=e;return(0,a.jsx)(f,{"aria-label":"Go to previous page",size:"default",className:(0,d.cn)("gap-1 pl-2.5",t),...r,children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})};h.displayName="PaginationPrevious";let g=e=>{let{className:t,...r}=e;return(0,a.jsx)(f,{"aria-label":"Go to next page",size:"default",className:(0,d.cn)("gap-1 pr-2.5",t),...r,children:(0,a.jsx)(l.A,{className:"h-4 w-4"})})};g.displayName="PaginationNext";let v=e=>{let{className:t,...r}=e;
1return(0,a.jsxs)("span",{"aria-hidden":!0,className:(0,d.cn)("flex h-9 w-9 items-center justify-center",t),...r,children:[(0,a.jsx)(o.A,{className:"h-4 w-4"}),(0,a.jsx)("span",{className:"sr-only",children:"More pages"})]})};function x(e){let{total:t,perPage:r,currentPage:n,totalPages:s,onPageChange:i,showPreviousNext:l,className:o}=e;return(0,a.jsx)(u,{className:o,children:(0,a.jsxs)(m,{className:"flex w-full justify-center",children:[(0,a.jsxs)("div",{className:"text-muted-foreground text-sm",children:["Total: ",t,", Page: ",n," / ",s]}),(0,a.jsx)("div",{className:"flex-1"}),l&&s&&n-1>=1?(0,a.jsx)(p,{className:"cursor-pointer",children:(0,a.jsx)(h,{onClick:()=>{n-1>=1&&i(n-1)},className:"cursor-pointer"})},"prev"):null,b(n,s,i),l&&s&&n+1<=s?(0,a.jsx)(p,{className:"cursor-pointer",children:(0,a.jsx)(g,{onClick:()=>{n+1<=s&&i(n+1)}})},"next"):null]})})}v.displayName="PaginationEllipsis";let b=(e,t,r)=>{let n=[];if(t<=6)for(let s=1;s<=t;s++)n.push((0,a.jsx)(p,{className:"cursor-pointer",children:(0,a.jsx)(f,{onClick:()=>s!==e&&r(s),isActive:s==e,className:"cursor-pointer",children:s})},"page-".concat(s)));else{for(let t=1;t<=2;t++)n.push((0,a.jsx)(p,{children:(0,a.jsx)(f,{onClick:()=>t!==e&&r(t),isActive:t===e,className:"cursor-pointer",children:t})},"page-".concat(t)));2<e&&e<t-1&&(n.push((0,a.jsx)(v,{},"ellipsis-1")),n.push((0,a.jsx)(p,{children:(0,a.jsx)(f,{onClick:()=>r(e),isActive:!0,className:"cursor-pointer",children:e})},"page-current"))),n.push((0,a.jsx)(v,{},"ellipsis-2"));for(let s=t-1;s<=t;s++)n.push((0,a.jsx)(p,{children:(0,a.jsx)(f,{onClick:()=>s!==e&&r(s),isActive:s===e,className:"cursor-pointer",children:s})},"page-".concat(s)))}return n};function w(e){let{total:t,limit:r,page:s=1,url:i,className:l}=e;r<=0&&(r=30);let o=Math.ceil(t/r),d=(0,n.usePathname)(),c=(0,n.useSearchParams)(),u=(0,n.useRouter)();return o<=1?null:(0,a.jsx)(x,{total:Number(t),perPage:Number(r),currentPage:Number(s),totalPages:Number(o),onPageChange:e=>{let t=new URLSearchParams(c);t.set("page",e.toString()),u.push("".concat(d,"?").concat(t.toString()))},showPreviousNext:!0,className:l})}},23808:(e,t,r)=>{"use strict";r.r(t),r.d(t,{LocaleDetector:()=>h});var a=r(72590),n=r(79998),s=r(2094),i=r(25395),l=r(86247),o=r(24759),d=r(24892),c=r(54544),u=r(96534),m=r(31138),p=r(74793);let f="locale-suggestion-dismissed";function h(){if(!c.cO)return null;let e=(0,l.c3)("common.locale_detector"),t=(0,o.Ym)(),r=(0,d.rd)(),h=(0,d.a8)(),[g,v]=(0,n.useState)(!1),[x,b]=(0,n.useState)(null),w=(0,n.useRef)(!1),j=(0,n.useCallback)(e=>{r.replace(h,{locale:e}),(0,m.PW)("locale",e),v(!1)},[r,h]);if((0,n.useEffect)(()=>{if(w.current)return;w.current=!0;let e=(()=>{let e=(navigator.language||navigator.userLanguage).split("-")[0].toLowerCase();return c.IB.includes(e)?e:null})();b(e);let r=!!(0,m.pr)(f);e&&e!==t&&!r&&v(!0)},[t,j]),!g||!x)return null;let y=e("locale_".concat(x));return(0,a.jsxs)("div",{className:"fixed right-4 bottom-4 z-[51] w-64 rounded-lg border bg-background p-4 shadow-lg",children:[(0,a.jsxs)("div",{className:"flex items-start gap-3",children:[(0,a.jsx)(s.A,{className:"mt-0.5 h-5 w-5 flex-shrink-0 text-muted-foreground"}),(0,a.jsxs)("div",{className:"flex-1",children:[(0,a.jsxs)("div",{className:"flex items-start justify-between gap-2",children:[(0,a.jsx)("span",{className:"text-sm font-medium",children:e("title",{locale:y})}),(0,a.jsx)("button",{onClick:()=>{let e=(0,p.lg)()+86400;(0,m.PW)(f,"true",e),v(!1)},className:"flex-shrink-0 rounded p-0.5 text-muted-foreground transition-colors hover:bg-muted hover:text-foreground","aria-label":"Close",children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})]}),(0,a.jsx)("p",{className:"mt-1 text-sm text-muted-foreground",children:e("switch_question",{locale:y})})]})]}),(0,a.jsx)(u.$,{onClick:()=>{x&&j(x)},variant:"outline",size:"sm",className:"mt-3 w-full",children:e("switch_button")})]})}},24892:(e,t,r)=>{"use strict";r.d(t,{N_:()=>l,Hm:()=>u,a8:()=>d,rd:()=>c});var a=r(78918),n=r(77085),s=r(54544);let i=(0,n.A)({locales:s.IB,defaultLocale:s.q,localePrefix:s.b,localeDetection:s.GB}),{Link:l,redirect:o,usePathname:d,useRouter:c,getPathname:u}=(0,a.A)(i)},27775:(e,t,r)=>{"use strict";r.r(t),r.d(t,{AudioPlayer:()=>o});var a=r(72590),n=r(79998),s=r(42569),i=r(36331),l=r(83461);function o(e){let{src:t,title:r,className:o}
1=e,d=(0,n.useRef)(null),[c,u]=(0,n.useState)(!1),[m,p]=(0,n.useState)(0),[f,h]=(0,n.useState)(0),[g,v]=(0,n.useState)(1),[x,b]=(0,n.useState)(!1);(0,n.useEffect)(()=>{let e=d.current;if(!e)return;let t=()=>p(e.currentTime),r=()=>h(e.duration),a=()=>u(!1);return e.addEventListener("timeupdate",t),e.addEventListener("loadedmetadata",r),e.addEventListener("ended",a),()=>{e.removeEventListener("timeupdate",t),e.removeEventListener("loadedmetadata",r),e.removeEventListener("ended",a)}},[]);let w=e=>{if(isNaN(e))return"0:00";let t=Math.floor(e/60),r=Math.floor(e%60);return"".concat(t,":").concat(r.toString().padStart(2,"0"))};return(0,a.jsxs)("div",{className:(0,l.cn)("bg-card text-card-foreground flex items-center gap-3 rounded-lg border p-3 shadow-sm",o),children:[(0,a.jsx)("audio",{ref:d,src:t,preload:"metadata"}),(0,a.jsx)("button",{onClick:()=>{let e=d.current;e&&(c?e.pause():e.play(),u(!c))},className:"bg-primary text-primary-foreground hover:bg-primary/90 flex h-10 w-10 items-center justify-center rounded-full transition-colors","aria-label":c?"Pause":"Play",children:c?(0,a.jsx)(s.A,{className:"h-5 w-5"}):(0,a.jsx)(i.A,{className:"ml-0.5 h-5 w-5"})}),(0,a.jsxs)("div",{className:"flex flex-1 flex-col gap-1",children:[r&&(0,a.jsx)("div",{className:"truncate text-sm font-medium",children:r}),(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)("span",{className:"text-muted-foreground w-10 text-right text-xs",children:w(m)}),(0,a.jsx)("input",{type:"range",min:0,max:f||0,value:m,onChange:e=>{let t=d.current;if(!t)return;let r=parseFloat(e.target.value);t.currentTime=r,p(r)},className:"bg-secondary [&::-webkit-slider-thumb]:bg-primary [&::-moz-range-thumb]:bg-primary h-1 flex-1 cursor-pointer appearance-none rounded-lg [&::-moz-range-thumb]:h-3 [&::-moz-range-thumb]:w-3 [&::-moz-range-thumb]:rounded-full [&::-moz-range-thumb]:border-0 [&::-webkit-slider-thumb]:h-3 [&::-webkit-slider-thumb]:w-3 [&::-webkit-slider-thumb]:appearance-none [&::-webkit-slider-thumb]:rounded-full"}),(0,a.jsx)("span",{className:"text-muted-foreground w-10 text-xs",children:w(f)})]})]})]})}},27835:(e,t,r)=>{"use strict";r.d(t,{I:()=>d,SQ:()=>o,_2:()=>c,lp:()=>u,mB:()=>m,rI:()=>i,ty:()=>l});var a=r(72590);r(79998);var n=r(94199),s=r(83461);function i(e){let{...t}=e;return(0,a.jsx)(n.bL,{"data-slot":"dropdown-menu",...t})}function l(e){let{...t}=e;return(0,a.jsx)(n.l9,{"data-slot":"dropdown-menu-trigger",...t})}function o(e){let{className:t,sideOffset:r=4,...i}=e;return(0,a.jsx)(n.ZL,{children:(0,a.jsx)(n.UC,{"data-slot":"dropdown-menu-content",sideOffset:r,className:(0,s.cn)("bg-popover text-popover-foreground data-[state=open]:animate-in data-[state=closed]:animate-out data-[state=closed]:fade-out-0 data-[state=open]:fade-in-0 data-[state=closed]:zoom-out-95 data-[state=open]:zoom-in-95 data-[side=bottom]:slide-in-from-top-2 data-[side=left]:slide-in-from-right-2 data-[side=right]:slide-in-from-left-2 data-[side=top]:slide-in-from-bottom-2 z-50 max-h-(--radix-dropdown-menu-content-available-height) min-w-[8rem] origin-(--radix-dropdown-menu-content-transform-origin) overflow-x-hidden overflow-y-auto rounded-md border p-1 shadow-md",t),...i})})}function d(e){let{...t}=e;return(0,a.jsx)(n.YJ,{"data-slot":"dropdown-menu-group",...t})}function c(e){let{className:t,inset:r,variant:i="default",...l}=e;return(0,a.jsx)(n.q7,{"data-slot":"dropdown-menu-item","data-inset":r,"data-variant":i,className:(0,s.cn)("focus:bg-accent focus:text-accent-foreground data-[variant=destructive]:text-destructive data-[variant=destructive]:focus:bg-destructive/10 dark:data-[variant=destructive]:focus:bg-destructive/20 data-[variant=destructive]:focus:text-destructive data-[variant=destructive]:*:[svg]:!text-destructive [&_svg:not([class*='text-'])]:text-muted-foreground relative flex cursor-default items-center gap-2 rounded-sm px-2 py-1.5 text-sm outline-hidden select-none data-[disabled]:pointer-events-none data-[disabled]:opacity-50 data-[inset]:pl-8 [&_svg]:pointer-events-none [&_svg]:shrink-0 [&_svg:not([class*='size-'])]:size-4",t),...l})}function u(e){let{className:t,inset:r,...i}=e;return(0,a.jsx)(n.JU,{"data-slot":"dropdown-menu-label","data-inset":r,className:(0,s.cn)("px-2 py-1.5 text-sm font-medium data-[inset]:pl-8",t),...i})}function m(e){let{className:t,...r}=e;return(0,a.jsx)(n.wv,{"data-slot":"dropdown-menu-separator",className:(0,s.cn)("bg-border -mx-1 my-1 h-px",t),...r})}},31138:(e,t,r)=>{"use strict";r.d(t,{PW:()=>s,pr:()=>n});var a=r(74793);let n=e=>{let t=localStorage.getItem(e);if(!t)return null;let r=t.split(":");if(!r||r.length<2)return t;let n=Number(r[0]),s=(0,a.lg)();if(n>0&&n<s)return i(e),null;let l=r[0]+":";return t.replace(l,"")},s=function(e,t){let r=arguments.length>2&&void 0!==arguments[2]?arguments[2]:0;if(!r)return void localStorage.setItem(e,t);localStorage.setItem(e,r+":"+t)}
1,i=e=>{localStorage.removeItem(e)}},32939:(e,t,r)=>{"use strict";r.r(t),r.d(t,{MarkdownPreview:()=>o,getTocItems:()=>i});var a=r(72590),n=r(79998),s=r(73901);function i(e){let t;if(!e)return[];let r=/^(#{1,6})\s+(.+)$/gm,a=[];for(;null!==(t=r.exec(e));){let e=t[1].length,r=t[2].trim(),n=r.toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g,"-").replace(/(^-|-$)/g,"");a.push({id:n,text:r,level:e})}return a}r(5602),r(83965);let l=new s.A({html:!0,linkify:!0,breaks:!0});function o(e){let{content:t}=e,r=(0,n.useMemo)(()=>t?l.render(t):"",[t]);return(0,a.jsx)("div",{className:"markdown-body",dangerouslySetInnerHTML:{__html:r}})}l.renderer.rules.heading_open=function(e,t){let r=e[t].markup.length,a=e[t+1];if(a&&"inline"===a.type){let e=a.content.toLowerCase().replace(/[^a-z0-9\u4e00-\u9fff]+/g,"-").replace(/(^-|-$)/g,"");return"<h".concat(r,' id="').concat(e,'">')}return"<h".concat(r,">")},l.renderer.rules.link_open=function(e,t,r,a,n){let s=e[t];if(s.attrIndex("href")>=0){let e=s.attrGet("href");s.attrSet("rel","nofollow"),e&&(e.startsWith("http://")||e.startsWith("https://"))&&s.attrSet("target","_blank")}return n.renderToken(e,t,r)}},39836:(e,t,r)=>{"use strict";r.r(t),r.d(t,{AspectRatioPicker:()=>u,OptionChips:()=>m});var a=r(72590),n=r(79998),s=r(48523),i=r(91562),l=r(83461);let o=e=>{let[t,r]=e.split(":").map(e=>Number(e));if(!t||!r||Number.isNaN(t)||Number.isNaN(r))return{width:36,height:28};let a=36/Math.max(t,r);return{width:Math.max(12,Math.min(36,t*a)),height:Math.max(12,Math.min(36,r*a))}};function d(e){let t,r,{ratio:n,isSelected:s}=e;if(!n.includes(":"))return(0,a.jsx)("div",{className:"flex h-5 w-7 items-center justify-center",children:(0,a.jsx)("div",{className:"h-3 w-5 rounded-sm ".concat(s?"bg-primary-foreground":"bg-muted-foreground/60")})});let[i,o]=n.split(":").map(Number),d=i/o;return d>=1.4?(t=28,r=28/d):(r=20,t=20*d),(0,a.jsx)("div",{className:"flex items-center justify-center",style:{width:28,height:20},children:(0,a.jsx)("div",{className:(0,l.cn)("rounded-sm",s?"bg-primary-foreground":"bg-muted-foreground/60"),style:{width:t,height:r}})})}let c=e=>{var t;return null!=(t=({1:"grid-cols-1",2:"grid-cols-2",3:"grid-cols-3",4:"grid-cols-3 sm:grid-cols-4",5:"grid-cols-3 sm:grid-cols-5"})[e])?t:"grid-cols-3"};function u(e){var t,r,u;let{value:m,options:p,onValueChange:f,columns:h,className:g,variant:v="collapsible"}=e,[x,b]=(0,n.useState)(!1),w=(0,n.useMemo)(()=>p.find(e=>e.value===m),[p,m]),j=null!=(r=null!=(t=null==w?void 0:w.previewRatio)?t:null==w?void 0:w.value)?r:"";if("inline"===v){let e=null!=h?h:Math.min(p.length,5);return(0,a.jsx)("div",{className:(0,l.cn)("grid gap-2",c(e),g),children:p.map(e=>{var t;let r=e.value===m,n=null!=(t=e.previewRatio)?t:e.value;return(0,a.jsxs)("button",{type:"button",onClick:()=>f(e.value),"aria-pressed":r,className:(0,l.cn)("flex min-h-[60px] flex-col items-center justify-center gap-1.5 rounded-lg border p-2.5 transition-colors",r?"bg-primary border-primary text-primary-foreground":"border-border hover:border-primary/50 hover:bg-accent"),children:[(0,a.jsx)(d,{ratio:n,isSelected:r}),(0,a.jsx)("span",{className:"text-xs font-medium",children:e.label})]},e.value)})})}let y=null!=h?h:2;return(0,a.jsxs)(i.Nt,{open:x,onOpenChange:b,className:(0,l.cn)("space-y-3",g),children:[(0,a.jsx)(i.R6,{asChild:!0,children:(0,a.jsxs)("button",{type:"button",className:"group border-border bg-card/60 hover:border-primary/40 data-[state=open]:border-primary/50 data-[state=open]:bg-primary/5 flex w-full items-center justify-between rounded-2xl border px-4 py-3 text-left transition",children:[(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:"border-border bg-muted/40 flex h-10 w-10 items-center justify-center rounded-lg border",children:(0,a.jsx)("div",{className:"bg-muted-foreground/40 rounded-sm",style:o(j)})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium",children:null!=(u=null==w?void 0:w.label)?u:m}),(null==w?void 0:w.description)&&(0,a.jsx)("div",{className:"text-muted-foreground text-xs",children:w.description})]})]}),(0,a.jsx)(s.A,{className:"text-muted-foreground h-4 w-4 transition-transform group-data-[state=open]:rotate-180"})]})}),(0,a.jsx)(i.Ke,{children:(0,a.jsx)("div",{className:"border-border bg-card/60 rounded-2xl border p-3",children:(0,a.jsx)("div",{className:(0,l.cn)("grid gap-2",1===y?"grid-cols-1":"grid-cols-1 sm:grid-cols-2"),children:p.map(e=>{var t;let r=e.value===m,n=null!=(t=e.previewRatio)?t:e.value;return(0,a.jsx)("button",{type:"button",onClick:()=>{f(e.value),b(!1)},className:(0,l.cn)("border-border/0 hover:border-primary/40 hover:bg-muted/40 min-h-[56px] w-full rounded-xl border p-3 text-left transition",r&&"border-primary bg-primary/10 text-primary"),children:(0,a.jsxs)("div",{className:"flex items-center gap-3",children:[(0,a.jsx)("div",{className:(0,l.cn)("border-border bg-muted/40 flex h-10 w-10 items-center justify-center rounded-lg border",r&&"border-primary/40 bg-primary/10"),children:(0,a.jsx)("div",{className:(0,l.cn)("rounded-sm",r?"bg-primary/40":"bg-muted-foreground
1/40"),style:o(n)})}),(0,a.jsxs)("div",{className:"min-w-0",children:[(0,a.jsx)("div",{className:"text-sm font-medium",children:e.label}),e.description&&(0,a.jsx)("div",{className:(0,l.cn)("text-xs",r?"text-primary/80":"text-muted-foreground"),children:e.description})]})]})},e.value)})})})})]})}function m(e){let{value:t,options:r,onValueChange:s,ariaLabel:i,columns:o,className:d}=e,u=(0,n.useMemo)(()=>r.map(e=>"string"==typeof e?{value:e,label:e.toUpperCase()}:e),[r]),m=null!=o?o:Math.min(u.length,4);return(0,a.jsx)("div",{role:"radiogroup","aria-label":i,className:(0,l.cn)("grid gap-2",c(m),d),children:u.map(e=>{let r=e.value===t;return(0,a.jsx)("button",{type:"button",role:"radio","aria-checked":r,onClick:()=>s(e.value),className:(0,l.cn)("flex min-h-[44px] items-center justify-center rounded-lg border px-3 py-2 text-sm font-medium transition-colors",r?"bg-primary border-primary text-primary-foreground":"border-border hover:border-primary/50 hover:bg-accent"),children:e.label},e.value)})})}},40466:(e,t,r)=>{"use strict";r.r(t),r.d(t,{MarkdownEditor:()=>i});var a=r(72590),n=r(79998),s=r(7658);function i(e){let{value:t,onChange:r,placeholder:i,minHeight:l=400,showToolbar:o}=e,d=(0,n.useRef)(null),c=(0,n.useRef)(null);return(0,n.useEffect)(()=>{let[e]=s.d.init(d.current,{value:t,onChange:r,placeholder:i,minHeight:l,showToolbar:o});return c.current=e,()=>{var e;return null==(e=c.current)?void 0:e.destroy()}},[]),(0,n.useEffect)(()=>{c.current&&t!==c.current.getValue()&&c.current.setValue(t)},[t]),(0,a.jsx)("div",{className:"overflow-hidden rounded-md border",ref:d,style:{height:"400px"}})}},41081:(e,t,r)=>{"use strict";r.r(t),r.d(t,{LocaleSelector:()=>f});var a=r(72590),n=r(79998),s=r(8316),i=r(2094),l=r(42447),o=r(24759),d=r(24892),c=r(54544),u=r(96534),m=r(27835),p=r(31138);function f(e){let{type:t="icon"}=e,r=(0,o.Ym)(),f=(0,d.rd)(),h=(0,d.a8)(),[g,v]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{v(!0)},[]),g)?(0,a.jsxs)(m.rI,{children:[(0,a.jsx)(m.ty,{asChild:!0,children:"icon"===t?(0,a.jsx)(u.$,{variant:"ghost",size:"icon",className:"h-auto w-auto p-0",children:(0,a.jsx)(s.A,{size:18})}):(0,a.jsxs)(u.$,{variant:"outline",size:"sm",className:"hover:bg-primary/10",children:[(0,a.jsx)(i.A,{size:16}),c.L$[r]]})}),(0,a.jsx)(m.SQ,{children:Object.keys(c.L$).map(e=>(0,a.jsxs)(m._2,{onClick:()=>{e!==r&&((0,p.PW)("locale",e),f.push(h,{locale:e}))},children:[(0,a.jsx)("span",{children:c.L$[e]}),e===r&&(0,a.jsx)(l.A,{size:16,className:"text-primary"})]},e))})]}):(0,a.jsx)(u.$,{variant:"icon"===t?"ghost":"outline",size:"icon"===t?"icon":"sm",className:"icon"===t?"h-auto w-auto p-0":"hover:bg-primary/10",disabled:!0,children:"icon"===t?(0,a.jsx)(s.A,{size:18}):(0,a.jsxs)(a.Fragment,{children:[(0,a.jsx)(i.A,{size:16}),c.L$[r]]})})}},43537:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ImageUploader:()=>p});var a=r(72590),n=r(79998),s=r(64621),i=r(64092),l=r(43885),o=r(20494),d=r(33710),c=r(96534),u=r(83461);let m=async e=>{var t,r;let a=new FormData;a.append("files",e);let n=await fetch("/api/storage/upload-image",{method:"POST",body:a});if(!n.ok)throw Error("Upload failed with status ".concat(n.status));let s=await n.json();if(0!==s.code||!(null==(r=s.data)||null==(t=r.urls)?void 0:t.length))throw Error(s.message||"Upload failed");return s.data.urls[0]};function p(e){let{allowMultiple:t=!1,maxImages:r=1,maxSizeMB:p=10,singlePreviewVariant:f="default",title:h,emptyHint:g,uploadHint:v,className:x,defaultPreviews:b,onChange:w}=e,j=(0,n.useRef)(null),y=(0,n.useRef)(!1),N=(0,n.useRef)(w),k=(0,n.useRef)(!1),_=(0,n.useRef)(null),E=(0,n.useRef)(0),[A,L]=(0,n.useState)(!1),[R,C]=(0,n.useState)(()=>(null==b?void 0:b.length)?b.map((e,t)=>({id:"preset-".concat(e,"-").concat(t),preview:e,url:e,status:"uploaded"})):[]),z=t?r:1,S=1024*p*1024,P=1===z&&"avatar"===f,U=P?"h-28 w-28 sm:h-32 sm:w-32":"h-40 w-full",T=P?"w-fit":"w-full";(0,n.useEffect)(()=>{N.current=w},[w]),(0,n.useEffect)(()=>{if(!y.current)return;if(k.current){k.current=!1;return}let e=b||[];C(t=>{let r=t.filter(e=>"uploaded"===e.status&&e.url).map(e=>e.url);return e.length===r.length&&e.every((e,t)=>e===r[t])?t:e.map((e,t)=>({id:"preset-".concat(e,"-").concat(t),preview:e,url:e,status:"uploaded"}))})},[b]),(0,n.useEffect)(()=>()=>
1{R.forEach(e=>{e.preview.startsWith("blob:")&&URL.revokeObjectURL(e.preview)})},[R]),(0,n.useEffect)(()=>{var e;if(!y.current){y.current=!0;return}k.current=!0,null==(e=N.current)||e.call(N,R.map(e=>{let{id:t,preview:r,url:a,status:n,size:s}=e;return{id:t,preview:r,url:a,status:n,size:s}}))},[R]);let D=e=>{e.forEach(e=>{let{id:t,file:r}=e,a="".concat(Date.now(),"-").concat(Math.random()),n=URL.createObjectURL(r);C(e=>e.map(e=>e.id!==t?e:(e.preview.startsWith("blob:")&&URL.revokeObjectURL(e.preview),{...e,preview:n,file:r,size:r.size,url:void 0,status:"uploading",uploadKey:a}))),m(r).then(e=>{C(r=>r.map(r=>r.id!==t||r.uploadKey!==a?r:(r.preview.startsWith("blob:")&&URL.revokeObjectURL(r.preview),{...r,preview:e,url:e,status:"uploaded",file:void 0})))}).catch(e=>{console.error("Upload failed:",e),d.oR.error((null==e?void 0:e.message)?"Upload failed: ".concat(e.message):"Upload failed"),C(e=>e.map(e=>e.id!==t||e.uploadKey!==a?e:{...e,status:"error"}))}).finally(()=>{j.current&&(j.current.value="")})})},M=e=>{var t,r;let a=_.current;if(a){_.current=null;let r=e[0];if(!r)return;if(!(null==(t=r.type)?void 0:t.startsWith("image/"))){d.oR.error("Only image files are supported"),j.current&&(j.current.value="");return}if(r.size>S){d.oR.error('"'.concat(r.name,'" exceeds the ').concat(p,"MB limit")),j.current&&(j.current.value="");return}D([{id:a,file:r}]);return}let n=z-R.length,s=e.filter(e=>{var t;return(null==(t=e.type)?void 0:t.startsWith("image/"))?!(e.size>S)||(d.oR.error('"'.concat(e.name,'" exceeds the ').concat(p,"MB limit")),!1):(d.oR.error('"'.concat(e.name,'" is not an image')),!1)}).slice(0,Math.max(n,0));if(!s.length){if(R.length){let t=e.filter(e=>{var t;return null==(t=e.type)?void 0:t.startsWith("image/")});if(!t.length)return;let a=Math.min(t.length,R.length),n=R.slice(-a),s=[];for(let e=0;e<a;e+=1){let a=null==(r=n[n.length-1-e])?void 0:r.id,i=t[e];a&&i&&s.push({id:a,file:i})}s.length&&D(s)}j.current&&(j.current.value="");return}n<e.length&&d.oR.message("Only the first ".concat(s.length," image(s) will be added"));let i=s.map(e=>({id:"".concat(e.name,"-").concat(e.lastModified,"-").concat(Math.random()),preview:URL.createObjectURL(e),file:e,size:e.size,status:"uploading",uploadKey:"".concat(Date.now(),"-").concat(Math.random())}));C(e=>[...e,...i]),Promise.all(i.map(async e=>{try{let t=await m(e.file);C(r=>r.map(r=>r.id===e.id?r.uploadKey&&e.uploadKey&&r.uploadKey!==e.uploadKey?r:(r.preview.startsWith("blob:")&&URL.revokeObjectURL(r.preview),{...r,preview:t,url:t,status:"uploaded",file:void 0}):r))}catch(t){console.error("Upload failed:",t),d.oR.error((null==t?void 0:t.message)?"Upload failed: ".concat(t.message):"Upload failed"),C(t=>t.map(t=>t.id!==e.id||t.uploadKey&&t.uploadKey!==e.uploadKey?t:{...t,status:"error"}))}})),j.current&&(j.current.value="")},I=()=>{var e;null==(e=j.current)||e.click()},O=(0,n.useMemo)(()=>"".concat(R.length,"/").concat(z),[R.length,z]);return(0,a.jsxs)("div",{className:(0,u.cn)("relative focus:outline-none",A&&"ring-primary/70 ring-offset-background ring-2 ring-offset-2",x),tabIndex:0,onPaste:e=>{var t;let r=Array.from((null==(t=e.clipboardData)?void 0:t.items)||[]).filter(e=>"file"===e.kind&&e.type.startsWith("image/")).map(e=>e.getAsFile()).filter(Boolean);r.length&&(e.preventDefault(),M(r))},onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),E.current+=1,L(!0)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy",A||L(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),E.current-=1,E.current<=0&&(E.current=0,L(!1))},onDrop:e=>{var t;e.preventDefault(),e.stopPropagation(),E.current=0,L(!1);let r=Array.from((null==(t=e.dataTransfer)?void 0:t.files)||[]).filter(e=>{var t;return null==(t=e.type)?void 0:t.startsWith("image/")});r.length&&M(r)},children:[A&&(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-black/10 backdrop-blur-sm",children:(0,a.jsx)("div",{className:"bg-background/80 text-foreground rounded-full px-4 py-2 text-sm font-medium shadow-sm",children:"Drop to upload"})}),(0,a.jsx)("input",{ref:j,type:"file",accept:"image/*",multiple:t,onChange:e=>{let t=Array.from(e.target.files||[]);t.length&&M(t)},className:"hidden"}),h&&(0,a.jsx)("div",{className:"text-foreground mb-3 flex items-center justify-between text-sm font-medium",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.A,{className:"text-primary h-4 w-4"}),(0,a.jsx)("span",{children:h}),(0,a.jsxs)("span",{className:"text-primary text-xs",children:["(",O,")"]})]})}),(0,a.jsxs)("div",{className:(0,u.cn)("flex flex-wrap gap-4",t?"flex-wrap":"flex-nowrap"),children:[R.map(e=>(0,a.jsxs)("div",{className:(0,u.cn)("group border-border bg-muted/50 hover:border-border hover:bg-muted relative rounded-xl border p-1 shadow-sm transition",1===z&&T),children:[(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-lg",children:[(0,a.jsx)("img",{src:e.preview,alt:"Reference",className:(0,u.cn)("rounded-lg object-cover",1===z?U:"h-32 w-32")}),e.size&&(0,a.jsx)("span",{className:"bg-background text-muted-foreground absolute bottom-2 left-2 rounded-md px-2 py-1 text-[10px] font-medium",children:(e=>{if(!e)return"";if(e<1024)return"".concat(e," B");let t=e/1024;if(t<1024)return"".concat(t.toFixed(2)," KB");let r=t/1024;return"".concat(r.toFixed(2)," MB")}
1)(e.size)}),"uploading"!==e.status&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-black/35 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100",children:(0,a.jsx)(c.$,{type:"button",size:"icon",variant:"secondary",className:"bg-background/50 text-foreground hover:bg-background/50 h-10 w-10 rounded-full shadow-sm backdrop-blur focus-visible:ring-2 focus-visible:ring-white/70",onClick:()=>{_.current=e.id,I()},"aria-label":"Upload a new image to replace",children:(0,a.jsx)(s.A,{className:"h-5 w-5"})})}),"uploading"===e.status&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-black/60 text-xs font-medium text-white",children:"Uploading..."}),"error"===e.status&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-red-500/70 text-xs font-medium text-white",children:"Failed"})]}),(0,a.jsx)(c.$,{size:"icon",variant:"destructive",className:"absolute top-2 right-2 z-20 h-7 w-7",onClick:()=>{var t;return t=e.id,void C(e=>{let r=e.filter(e=>e.id!==t),a=e.find(e=>e.id===t);return(null==a?void 0:a.preview.startsWith("blob:"))&&URL.revokeObjectURL(a.preview),r})},"aria-label":"Remove image",children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})]},e.id)),R.length<z&&(0,a.jsx)("div",{className:(0,u.cn)("group border-border bg-muted/50 hover:border-border hover:bg-muted relative overflow-hidden rounded-xl border border-dashed p-1 shadow-sm transition",1===z&&T),children:(0,a.jsx)("div",{className:"relative overflow-hidden rounded-lg",children:(0,a.jsxs)("button",{type:"button",className:(0,u.cn)("flex flex-col items-center justify-center gap-2",1===z?U:"h-32 w-32"),onClick:I,children:[(0,a.jsx)("div",{className:"border-border flex h-10 w-10 items-center justify-center rounded-full border border-dashed",children:(0,a.jsx)(l.A,{className:"h-5 w-5"})}),(0,a.jsx)("span",{className:"text-xs font-medium",children:"Upload"}),(0,a.jsxs)("span",{className:"text-primary text-xs",children:["Max ",p,"MB"]}),v&&(0,a.jsx)("span",{className:"text-muted-foreground text-[10px] leading-snug whitespace-nowrap",children:v})]})})})]}),!h&&(0,a.jsx)("div",{className:"text-muted-foreground text-xs",children:g})]})}},46503:(e,t,r)=>{"use strict";r.r(t),r.d(t,{VideoUploader:()=>p});var a=r(72590),n=r(79998),s=r(64621),i=r(64092),l=r(43885),o=r(37488),d=r(33710),c=r(96534),u=r(83461);let m=async e=>{var t,r;let a=new FormData;a.append("files",e);let n=await fetch("/api/storage/upload-video",{method:"POST",body:a});if(!n.ok)throw Error("Upload failed with status ".concat(n.status));let s=await n.json();if(0!==s.code||!(null==(r=s.data)||null==(t=r.urls)?void 0:t.length))throw Error(s.message||"Upload failed");return s.data.urls[0]};function p(e){let{maxSizeMB:t=100,title:r,emptyHint:p,uploadHint:f,className:h,defaultUrl:g,onChange:v}=e,x=(0,n.useRef)(null),b=(0,n.useRef)(!1),w=(0,n.useRef)(v),j=(0,n.useRef)(!1),y=(0,n.useRef)(0),[N,k]=(0,n.useState)(!1),[_,E]=(0,n.useState)(()=>g?{id:"preset-".concat(g),preview:g,url:g,status:"uploaded"}:null),A=1024*t*1024;(0,n.useEffect)(()=>{w.current=v},[v]),(0,n.useEffect)(()=>{if(b.current){if(j.current){j.current=!1;return}g&&(!_||_.url!==g)?E({id:"preset-".concat(g),preview:g,url:g,status:"uploaded"}):!g&&_&&E(null)}},[g]),(0,n.useEffect)(()=>()=>{(null==_?void 0:_.preview.startsWith("blob:"))&&URL.revokeObjectURL(_.preview)},[_]),(0,n.useEffect)(()=>{var e,t;if(!b.current){b.current=!0;return}j.current=!0,_?null==(e=w.current)||e.call(w,{id:_.id,preview:_.preview,url:_.url,status:_.status,size:_.size}):null==(t=w.current)||t.call(w,null)},[_]);let L=e=>{var r;if(!(null==(r=e.type)?void 0:r.startsWith("video/"))){d.oR.error("Only video files are supported"),x.current&&(x.current.value="");return}if(e.size>A){d.oR.error("Video exceeds the ".concat(t,"MB limit")),x.current&&(x.current.value="");return}let a="".concat(Date.now(),"-").concat(Math.random()),n=URL.createObjectURL(e);(null==_?void 0:_.preview.startsWith("blob:"))&&URL.revokeObjectURL(_.preview),E({id:"".concat(e.name,"-").concat(e.lastModified,"-").concat(Math.random()),preview:n,file:e,size:e.size,status:"uploading",uploadKey:a}),m(e).then(e=>{E(t=>t&&t.uploadKey===a?(t.preview.startsWith("blob:")&&URL.revokeObjectURL(t.preview),{...t,preview:e,url:e,status:"uploaded",file:void 0}):t)}).catch(e=>{console.error("Video upload failed:",e),d.oR.error((null==e?void 0:e.message)?"Upload failed: ".concat(e.message):"Upload failed"),E(e=>e&&e.uploadKey===a?{...e,status:"error"}:e)}).finally(()=>{x.current&&(x.current.value="")}
1)},R=()=>{var e;null==(e=x.current)||e.click()};return(0,a.jsxs)("div",{className:(0,u.cn)("relative focus:outline-none",N&&"ring-primary/70 ring-offset-background ring-2 ring-offset-2",h),tabIndex:0,onDragEnter:e=>{e.preventDefault(),e.stopPropagation(),y.current+=1,k(!0)},onDragOver:e=>{e.preventDefault(),e.stopPropagation(),e.dataTransfer.dropEffect="copy",N||k(!0)},onDragLeave:e=>{e.preventDefault(),e.stopPropagation(),y.current-=1,y.current<=0&&(y.current=0,k(!1))},onDrop:e=>{var t;e.preventDefault(),e.stopPropagation(),y.current=0,k(!1);let r=Array.from((null==(t=e.dataTransfer)?void 0:t.files)||[]).find(e=>{var t;return null==(t=e.type)?void 0:t.startsWith("video/")});if(!r)return void d.oR.error("Only video files are supported");L(r)},children:[N&&(0,a.jsx)("div",{className:"pointer-events-none absolute inset-0 z-30 flex items-center justify-center bg-black/10 backdrop-blur-sm",children:(0,a.jsx)("div",{className:"bg-background/80 text-foreground rounded-full px-4 py-2 text-sm font-medium shadow-sm",children:"Drop to upload"})}),(0,a.jsx)("input",{ref:x,type:"file",accept:"video/*",onChange:e=>{var t;let r=null==(t=e.target.files)?void 0:t[0];r&&L(r)},className:"hidden"}),r&&(0,a.jsx)("div",{className:"text-foreground mb-3 flex items-center justify-between text-sm font-medium",children:(0,a.jsxs)("div",{className:"flex items-center gap-2",children:[(0,a.jsx)(o.A,{className:"text-primary h-4 w-4"}),(0,a.jsx)("span",{children:r})]})}),_?(0,a.jsx)("div",{className:"group border-border bg-muted/50 hover:border-border hover:bg-muted relative overflow-hidden rounded-xl border p-1 shadow-sm transition",children:(0,a.jsxs)("div",{className:"relative overflow-hidden rounded-lg",children:[(0,a.jsx)("video",{src:_.preview,className:"h-40 w-full rounded-lg object-cover",muted:!0,playsInline:!0}),_.size&&(0,a.jsx)("span",{className:"bg-background text-muted-foreground absolute bottom-2 left-2 rounded-md px-2 py-1 text-[10px] font-medium",children:(e=>{if(!e)return"";if(e<1024)return"".concat(e," B");let t=e/1024;if(t<1024)return"".concat(t.toFixed(2)," KB");let r=t/1024;return"".concat(r.toFixed(2)," MB")})(_.size)}),"uploading"!==_.status&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-black/35 opacity-0 transition-opacity group-focus-within:opacity-100 group-hover:opacity-100",children:(0,a.jsx)(c.$,{type:"button",size:"icon",variant:"secondary",className:"bg-background/50 text-foreground hover:bg-background/50 h-10 w-10 rounded-full shadow-sm backdrop-blur focus-visible:ring-2 focus-visible:ring-white/70",onClick:R,"aria-label":"Upload a new video to replace",children:(0,a.jsx)(s.A,{className:"h-5 w-5"})})}),"uploading"===_.status&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-black/60 text-xs font-medium text-white",children:"Uploading..."}),"error"===_.status&&(0,a.jsx)("div",{className:"absolute inset-0 z-10 flex items-center justify-center bg-red-500/70 text-xs font-medium text-white",children:"Failed"}),(0,a.jsx)(c.$,{size:"icon",variant:"destructive",className:"absolute top-2 right-2 z-20 h-7 w-7",onClick:()=>{(null==_?void 0:_.preview.startsWith("blob:"))&&URL.revokeObjectURL(_.preview),E(null)},"aria-label":"Remove video",children:(0,a.jsx)(i.A,{className:"h-4 w-4"})})]})}):(0,a.jsx)("div",{className:"group border-border bg-muted/50 hover:border-border hover:bg-muted relative overflow-hidden rounded-xl border border-dashed p-1 shadow-sm transition",children:(0,a.jsx)("div",{className:"relative overflow-hidden rounded-lg",children:(0,a.jsxs)("button",{type:"button",className:"flex h-40 w-full flex-col items-center justify-center gap-2",onClick:R,children:[(0,a.jsx)("div",{className:"border-border flex h-10 w-10 items-center justify-center rounded-full border border-dashed",children:(0,a.jsx)(l.A,{className:"h-5 w-5"})}),(0,a.jsx)("span",{className:"text-xs font-medium",children:"Upload Video"}),(0,a.jsxs)("span",{className:"text-primary text-xs",children:["Max ",t,"MB"]}),f&&(0,a.jsx)("span",{className:"text-muted-foreground text-[10px] leading-snug",children:f})]})})}),!r&&p&&!_&&(0,a.jsx)("div",{className:"text-muted-foreground mt-2 text-xs",children:p})]})}},48070:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ThemeToggler:()=>x});var a=r(72590),n=r(79998),s=r(62234),i=r(28564),l=r(62193),o=r(4735),d=r(38331),c=r(83461);let u=e=>{let{className:t}=e,{theme:r,setTheme:l}
1=(0,o.D)(),[u,m]=(0,n.useState)(!1),[p,f]=(0,n.useState)(!1);(0,n.useEffect)(()=>{f(!0),m("dark"===r)},[r]);let h=(0,n.useRef)(null),g=async()=>{if(!h.current)return;await document.startViewTransition(()=>{(0,d.flushSync)(()=>{let e=document.documentElement.classList.toggle("dark");l(e?"dark":"light"),m(e)})}).ready;let{top:e,left:t,width:r,height:a}=h.current.getBoundingClientRect(),n=e+a/2,s=t+r/2,i=window.innerWidth-t,o=window.innerHeight-e,c=Math.hypot(Math.max(t,i),Math.max(e,o));document.documentElement.animate({clipPath:["circle(0px at ".concat(s,"px ").concat(n,"px)"),"circle(".concat(c,"px at ").concat(s,"px ").concat(n,"px)")]},{duration:700,easing:"ease-in-out",pseudoElement:"::view-transition-new(root)"})};return p?(0,a.jsx)("button",{ref:h,onClick:g,className:(0,c.cn)(t),children:u?(0,a.jsx)(s.A,{}):(0,a.jsx)(i.A,{})}):null};var m=r(96534),p=r(88121);let f=(0,r(67085).F)("inline-flex items-center justify-center gap-2 rounded-md text-sm font-medium hover:bg-muted hover:text-muted-foreground disabled:pointer-events-none disabled:opacity-50 data-[state=on]:bg-accent data-[state=on]:text-accent-foreground [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 [&_svg]:shrink-0 focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] outline-none transition-[color,box-shadow] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive whitespace-nowrap",{variants:{variant:{default:"bg-transparent",outline:"border border-input bg-transparent shadow-xs hover:bg-accent hover:text-accent-foreground"},size:{default:"h-9 px-2 min-w-9",sm:"h-8 px-1.5 min-w-8",lg:"h-10 px-2.5 min-w-10"}},defaultVariants:{variant:"default",size:"default"}}),h=n.createContext({size:"default",variant:"default"});function g(e){let{className:t,variant:r,size:n,children:s,...i}=e;return(0,a.jsx)(p.bL,{"data-slot":"toggle-group","data-variant":r,"data-size":n,className:(0,c.cn)("group/toggle-group flex w-fit items-center rounded-md data-[variant=outline]:shadow-xs",t),...i,children:(0,a.jsx)(h.Provider,{value:{variant:r,size:n},children:s})})}function v(e){let{className:t,children:r,variant:s,size:i,...l}=e,o=n.useContext(h);return(0,a.jsx)(p.q7,{"data-slot":"toggle-group-item","data-variant":o.variant||s,"data-size":o.size||i,className:(0,c.cn)(f({variant:o.variant||s,size:o.size||i}),"min-w-0 flex-1 shrink-0 rounded-none shadow-none first:rounded-l-md last:rounded-r-md focus:z-10 focus-visible:z-10 data-[variant=outline]:border-l-0 data-[variant=outline]:first:border-l",t),...l,children:r})}function x(e){let{type:t="icon",className:r}=e,{theme:d,setTheme:c}=(0,o.D)(),[p,f]=(0,n.useState)(!1);return((0,n.useEffect)(()=>{f(!0)},[]),p)?"button"===t?(0,a.jsx)(m.$,{variant:"outline",size:"sm",className:"hover:bg-primary/10",children:(0,a.jsx)(s.A,{})}):"toggle"===t?(0,a.jsxs)(g,{type:"single",className:" ".concat(r),value:d,onValueChange:e=>{c(e)},variant:"outline",children:[(0,a.jsx)(v,{value:"light",onClick:()=>c("light"),"aria-label":"Switch to light mode",children:(0,a.jsx)(s.A,{})}),(0,a.jsx)(v,{value:"dark",onClick:()=>c("dark"),"aria-label":"Switch to dark mode",children:(0,a.jsx)(i.A,{})}),(0,a.jsx)(v,{value:"system",onClick:()=>c("system"),"aria-label":"Switch to system mode",children:(0,a.jsx)(l.A,{})})]}):(0,a.jsx)(u,{className:r}):null}},54544:(e,t,r)=>{"use strict";r.d(t,{GB:()=>d,IB:()=>s,L$:()=>n,b:()=>o,cO:()=>l,q:()=>i});var a=r(2076);let n={en:"English",es:"Espa\xf1ol",fr:"Fran\xe7ais",pt:"Portugu\xeas",it:"Italiano",ja:"日本語",th:"ภาษาไทย",pl:"Polski",ko:"한국어",de:"Deutsch",ru:"Русский",da:"Dansk",ar:"العربية",nb:"Norsk bokm\xe5l",nl:"Nederlands",id:"Bahasa Indonesia","zh-TW":"繁體中文",zh:"简体中文",tr:"T\xfcrk\xe7e"},s=["en","es","fr","pt","it","ja","th","pl","ko","de","ru","da","ar","nb","nl","id","zh-TW","zh","tr"],i=a._.locale,l=s.length>1&&"false"!==String(a._.locale_detector_enabled).toLowerCase(),o="as-needed",d=!1},57006:(e,t,r)=>{"use strict";r.d(t,{AppContextProvider:()=>m,U:()=>o});var a=r(72590),n=r(79998),s=r(24892),i=r(86950);let l=(0,n.createContext)({}),o=()=>(0,n.useContext)(l),d="https://accounts.google.com/gsi/client";function c(e,t,r){(function(e){if("true"===e.google_one_tap_debug)return!0;try{return!0===window.__oneTapDebug||"true"===window.localStorage.getItem("one_tap_debug")}catch(e){return!1}})(e)&&(r?console.log("[one-tap] ".concat(t),r):console.log("[one-tap] ".concat(t)))}async function u(){let e=await fetch("/api/auth/get-session",{cache:"no-store",credentials:"include"});if(!e.ok)throw Error("fetch session failed with status: ".concat(e.status));let t=await e.json();return t||null}let m=e=>{let{children:t}
1=e,[r,o]=(0,n.useState)({}),m=(0,s.a8)(),[p,f]=(0,n.useState)("");(0,n.useEffect)(()=>{f("".concat(m).concat(window.location.search))},[m]);let[h,g]=(0,n.useState)(null),[v,x]=(0,n.useState)(null),[b,w]=(0,n.useState)(!0),[j,y]=(0,n.useState)(!0),[N,k]=(0,n.useState)(!1),_=(0,n.useCallback)(()=>{x(null),g(null),w(!1),y(!1),k(!1)},[]),[E,A]=(0,n.useState)(!1),[L,R]=(0,n.useState)(!1),[C,z]=(0,n.useState)(null),S=(0,n.useRef)(null),P=(0,n.useRef)(!1),U=async function(){try{let e=await fetch("/api/config/get-configs",{method:"POST"});if(!e.ok)throw Error("fetch failed with status: ".concat(e.status));let{code:t,message:r,data:a}=await e.json();if(0!==t)throw Error(r);o(a)}catch(e){console.log("fetch configs failed:",e)}},T=async function(){try{if(!h)return;let e=await fetch("/api/user/get-user-credits",{method:"POST"});if(401===e.status||403===e.status)return void _();if(!e.ok)throw Error("fetch failed with status: ".concat(e.status));let{code:t,message:r,data:a}=await e.json();if(0!==t){if("string"==typeof r&&r.toLowerCase().includes("no auth"))return void _();throw Error(r)}g(e=>e?{...e,credits:a}:e)}catch(e){console.log("fetch user credits failed:",e)}},D=async function(){try{let e=await fetch("/api/user/get-user-info",{method:"POST"});if(401===e.status||403===e.status)return void _();if(!e.ok)throw Error("fetch failed with status: ".concat(e.status));let{code:t,message:r,data:a}=await e.json();if(0!==t){if("string"==typeof r&&r.toLowerCase().includes("no auth"))return void _();throw Error(r)}g(a)}catch(e){console.log("fetch user info failed:",e)}},M=async function(e){if(P.current)return;let t="true"===e.google_auth_enabled,r=e.google_client_id;if(t&&r)try{var a,n,s,l;P.current=!0,await ((null==(l=window.google)||null==(s=l.accounts)?void 0:s.id)||window.googleScriptInitialized?Promise.resolve():new Promise((e,t)=>{let r=document.querySelector('script[src="'.concat(d,'"]'));if(r){r.addEventListener("load",()=>e(),{once:!0}),r.addEventListener("error",()=>t(Error("Failed to load Google One Tap script")),{once:!0});return}let a=document.createElement("script");a.src=d,a.async=!0,a.defer=!0,a.onload=()=>{window.googleScriptInitialized=!0,e()},a.onerror=()=>t(Error("Failed to load Google One Tap script")),document.head.appendChild(a)}));let t=null==(n=window.google)||null==(a=n.accounts)?void 0:a.id;if(!t)return void c(e,"google_accounts_missing");await new Promise(a=>{let n=!1,s=()=>{n||(n=!0,a())},l=r=>{n||t.prompt(t=>{var a,i,o,d,u,m,p,f;if(!n){if(null==(a=t.isNotDisplayed)?void 0:a.call(t)){let r=null==(d=t.getNotDisplayedReason)?void 0:d.call(t);c(e,"not_displayed",{reason:r}),s();return}if((null==(i=t.isDismissedMoment)?void 0:i.call(t))||(null==(o=t.isSkippedMoment)?void 0:o.call(t))){if(null==(u=t.isDismissedMoment)?void 0:u.call(t))c(e,"dismissed",{reason:null==(p=t.getDismissedReason)?void 0:p.call(t)});else if(null==(m=t.isSkippedMoment)?void 0:m.call(t)){let r=null==(f=t.getSkippedReason)?void 0:f.call(t);c(e,"skipped",{reason:r})}if(r<1){let e=1e3*Math.pow(2,r);setTimeout(()=>l(r+1),e)}else s()}}})};t.initialize({client_id:r,callback:async t=>{try{c(e,"credential_received"),(0,i.TV)("signup_method","google_one_tap");let r=await fetch("/api/auth/one-tap/callback",{method:"POST",credentials:"include",headers:{"Content-Type":"application/json"},body:JSON.stringify({idToken:t.credential})});if(!r.ok)throw Error("one tap callback failed with status: ".concat(r.status));window.location.href="/"}catch(e){console.log("one tap callback failed:",e)}finally{s()}},auto_select:!1,cancel_on_tap_outside:!1,context:"signin"}),l(0),window.setTimeout(s,1e4)})}catch(t){c(e,"one_tap_error")}finally{P.current=!1}};return(0,n.useEffect)(()=>{U()},[]),(0,n.useEffect)(()=>{let e=!1;return(async()=>{try{let t=await u();if(e)return;let r=(null==t?void 0:t.user)||null;x(t),r?await D():g(null)}catch(t){e||(x(null),g(null))}finally{e||w(!1)}})(),()=>{e=!0}},[]),(0,n.useEffect)(()=>{b||y(!1)},[b]),(0,n.useEffect)(()=>{(null==v?void 0:v.user)&&!b&&(h&&void 0!==h.isAdmin&&h.credits||D())},[null==v?void 0:v.user,b,h,D]),(0,n.useEffect)(()=>{if("true"!==r.google_auth_enabled||!r.google_client_id||"true"!==r.google_one_tap_enabled||v||b||new Set(["localhost","127.0.0.1","::1"]).has(window.location.hostname)||!p||S.current===p)return;S.current=p;let e=window.setTimeout(()=>{M(r)},1e4);return()=>window.clearTimeout(e)},[r.google_auth_enabled,r.google_client_id,r.google_one_tap_enabled,v,b,p]),(0,n.useEffect)(()=>{h&&!h.credits&&T()},[T,h]),(0,a.jsx)(l.Provider,{value:{user:h,isCheckSign:j,isShowSignModal:N,setIsShowSignModal:k,isShowPaymentModal:E,setIsShowPaymentModal:A,isShowInsufficientCreditsModal:L,insufficientCreditsInfo:C,showInsufficientCreditsModal:e=>{z(e),R(!0)},hideInsufficientCreditsModal:()=>{R(!1),z(null)},configs:r,clearAuthSession:_,fetchUserCredits:T,fetchUserInfo:D},children:t})}},74793:(e,t,r)=>{"use strict";r.d(t,{lg:()=>a});let a=()=>Date.parse(new Date().toUTCString())/1e3},81312:(e,t,r)=>{"use strict";r.d(t,{Accordion:()=>l,AccordionContent:()=>c,AccordionItem:()=>
1o,AccordionTrigger:()=>d});var a=r(72590);r(79998);var n=r(32215),s=r(48523),i=r(83461);function l(e){let{...t}=e;return(0,a.jsx)(n.bL,{"data-slot":"accordion",...t})}function o(e){let{className:t,...r}=e;return(0,a.jsx)(n.q7,{"data-slot":"accordion-item",className:(0,i.cn)("border-b last:border-b-0",t),...r})}function d(e){let{className:t,children:r,...l}=e;return(0,a.jsx)(n.Y9,{className:"flex",children:(0,a.jsxs)(n.l9,{"data-slot":"accordion-trigger",className:(0,i.cn)("focus-visible:border-ring focus-visible:ring-ring/50 flex flex-1 items-start justify-between gap-4 rounded-md py-4 text-left text-sm font-medium transition-all outline-none hover:underline focus-visible:ring-[3px] disabled:pointer-events-none disabled:opacity-50 [&[data-state=open]>svg]:rotate-180",t),...l,children:[r,(0,a.jsx)(s.A,{className:"text-muted-foreground pointer-events-none size-4 shrink-0 translate-y-0.5 transition-transform duration-200"})]})})}function c(e){let{className:t,children:r,forceMount:s,...l}=e;return(0,a.jsx)(n.UC,{"data-slot":"accordion-content",className:(0,i.cn)("overflow-hidden text-sm transition-all duration-300",s?"data-[state=closed]:max-h-0 data-[state=open]:max-h-[1000px] data-[state=closed]:opacity-0 data-[state=open]:opacity-100":"data-[state=closed]:animate-accordion-up data-[state=open]:animate-accordion-down"),forceMount:s,...l,children:(0,a.jsx)("div",{className:(0,i.cn)("pt-0 pb-4",t),children:r})})}},82660:(e,t,r)=>{"use strict";r.r(t),r.d(t,{SignUser:()=>c});var a=r(72590),n=r(79998),s=r(92853),i=r(86247),l=r(96534),o=r(57006),d=r(83461);function c(e){let{isScrolled:t,signButtonSize:c="sm",buttonClassName:u,buttonStyle:m="dark",userNav:p}=e,f=(0,i.c3)("common.sign"),{isCheckSign:h,isShowSignModal:g,user:v,setIsShowSignModal:x}=(0,o.U)(),[b,w]=(0,n.useState)(!1),[j,y]=(0,n.useState)(null),[N,k]=(0,n.useState)(null),_=(0,n.useCallback)(()=>{j||Promise.all([r.e(90991),r.e(71742),r.e(77971),r.e(17830),r.e(30463),r.e(24869),r.e(43009),r.e(84806),r.e(65803)]).then(r.bind(r,35099)).then(e=>{y(()=>e.SignModal)})},[j]);return(0,n.useEffect)(()=>{w(!0)},[]),(0,n.useEffect)(()=>{g&&_()},[g,_]),(0,n.useEffect)(()=>{v&&!N&&Promise.all([r.e(90991),r.e(73683),r.e(83168)]).then(r.bind(r,83168)).then(e=>{k(()=>e.SignedInUserMenu)})},[N,v]),(0,a.jsx)(a.Fragment,{children:h||!b?(0,a.jsx)("div",{children:(0,a.jsx)(s.A,{className:"size-4 animate-spin"})}):v?N?(0,a.jsx)(N,{user:v,userNav:p}):(0,a.jsx)("div",{children:(0,a.jsx)(s.A,{className:"size-4 animate-spin"})}):(0,a.jsxs)("div",{className:"flex w-full flex-col space-y-3 sm:flex-row sm:gap-3 sm:space-y-0 md:w-fit",children:[(0,a.jsx)(l.$,{type:"button",variant:"light"===m?"ghost":"outline",size:c,className:(0,d.cn)("ml-4 cursor-pointer font-semibold","light"===m?["border border-white/85 bg-white text-slate-950","shadow-[0_16px_40px_-18px_rgba(255,255,255,0.7)]","hover:border-white hover:bg-white hover:text-slate-950","hover:shadow-[0_20px_46px_-16px_rgba(255,255,255,0.82)]"]:["border-white/10","bg-[linear-gradient(135deg,rgba(17,24,44,0.96)_0%,rgba(28,40,68,0.94)_100%)]","text-foreground shadow-[0_0_14px_rgba(143,245,255,0.08)]","hover:border-primary/30","hover:bg-[linear-gradient(135deg,rgba(21,30,54,0.98)_0%,rgba(35,49,80,0.96)_100%)]","hover:text-white hover:shadow-[0_0_18px_rgba(143,245,255,0.12)]"],"transition-[background-color,border-color,box-shadow,color] duration-200",t&&"lg:hidden",u),onClick:()=>{x(!0),_()},children:(0,a.jsx)("span",{children:f("sign_in_button")})}),j?(0,a.jsx)(j,{}):null]})})}},83005:(e,t,r)=>{"use strict";r.r(t),r.d(t,{LazyImage:()=>s});var a=r(72590),n=r(99354);function s(e){let{src:t,alt:r,className:s,width:i,height:l,placeholderSrc:o,title:d,fill:c,priority:u,sizes:m,wrapperClassName:p}=e;return(0,a.jsx)(n.LazyLoadImage,{src:t,alt:r,width:i,height:l,effect:"blur",placeholderSrc:o,className:s,...p?{wrapperClassName:p,wrapperProps:{style:{color:"transparent",display:"block",width:"100%",height:"100%"}}}:{}})}r(22983)},83461:(e,t,r)=>{"use strict";r.d(t,{cn:()=>s});var a=r(63765),n=r(26261);function s(){for(var e=arguments.length,t=Array(e),r=0;r<e;r++)t[r]=arguments[r];return(0,n.QP)((0,a.$)(t))}},83965:()=>{},86950:(e,t,r)=>{"use strict";function a(e){if("undefined"==typeof document)return"";let t="; ".concat(document.cookie).split("; ".concat(e,"="));if(2===t.length){var r;return(null==(r=t.pop())?void 0:r.split(";").shift())||""}return""}function n(e,t,r){if("undefined"==typeof document)return;let a="";if(r){let e=new Date;e.setTime(e.getTime()+24*r*36e5),a="; expires=".concat(e.toUTCString())}document.cookie="".concat(e,"=").concat(t).concat(a,"; path=/")}
1r.d(t,{Ri:()=>a,TV:()=>n})},91562:(e,t,r)=>{"use strict";r.d(t,{Ke:()=>l,Nt:()=>s,R6:()=>i});var a=r(72590),n=r(19584);function s(e){let{...t}=e;return(0,a.jsx)(n.bL,{"data-slot":"collapsible",...t})}function i(e){let{...t}=e;return(0,a.jsx)(n.R6,{"data-slot":"collapsible-trigger",...t})}function l(e){let{...t}=e;return(0,a.jsx)(n.Ke,{"data-slot":"collapsible-content",...t})}},96534:(e,t,r)=>{"use strict";r.d(t,{$:()=>o,r:()=>l});var a=r(72590);r(79998);var n=r(21045),s=r(67085),i=r(83461);let l=(0,s.F)("inline-flex items-center justify-center gap-2 whitespace-nowrap rounded-md text-sm font-medium transition-all disabled:pointer-events-none disabled:opacity-50 [&_svg]:pointer-events-none [&_svg:not([class*='size-'])]:size-4 shrink-0 [&_svg]:shrink-0 outline-none focus-visible:border-ring focus-visible:ring-ring/50 focus-visible:ring-[3px] aria-invalid:ring-destructive/20 dark:aria-invalid:ring-destructive/40 aria-invalid:border-destructive",{variants:{variant:{default:"bg-primary text-primary-foreground hover:bg-primary/90",destructive:"bg-destructive text-white hover:bg-destructive/90 focus-visible:ring-destructive/20 dark:focus-visible:ring-destructive/40 dark:bg-destructive/60",outline:"border bg-background shadow-xs hover:bg-accent hover:text-accent-foreground dark:bg-input/30 dark:border-input dark:hover:bg-input/50",secondary:"bg-secondary text-secondary-foreground hover:bg-secondary/80",ghost:"hover:bg-accent hover:text-accent-foreground dark:hover:bg-accent/50",link:"text-primary underline-offset-4 hover:underline"},size:{default:"h-9 px-4 py-2 has-[>svg]:px-3",sm:"h-8 rounded-md gap-1.5 px-3 has-[>svg]:px-2.5",lg:"h-10 rounded-md px-6 has-[>svg]:px-4",icon:"size-9","icon-sm":"size-7"}},defaultVariants:{variant:"default",size:"default"}});function o(e){let{className:t,variant:r,size:s,asChild:o=!1,...d}=e,c=o?n.DX:"button";return(0,a.jsx)(c,{"data-slot":"button",className:(0,i.cn)(l({variant:r,size:s,className:t})),...d})}},98758:(e,t,r)=>{"use strict";r.r(t),r.d(t,{ErrorBoundary:()=>c});var a=r(72590),n=r(79998),s=r(28498),i=r(38174),l=r.n(i),o=r(96534),d=r(11132);class c extends n.Component{static getDerivedStateFromError(e){return"NEXT_NOT_FOUND"===e.digest?{hasError:!1}:{hasError:!0}}componentDidCatch(e,t){console.error("Uncaught error:",e,t)}render(){return(console.log("ErrorBoundary render",this.state),this.state.hasError)?this.props.fallback?this.props.fallback:(0,a.jsxs)("div",{className:"flex h-screen flex-col items-center justify-center gap-4",children:[(0,a.jsx)(s.default,{src:"/logo.png",alt:"Logo",width:80,height:80}),(0,a.jsx)("h1",{className:"text-2xl font-normal",children:"Something went wrong"}),(0,a.jsx)("p",{className:"text-muted-foreground",children:"Please try refreshing the page or contact support if the problem persists."}),(0,a.jsx)(o.$,{asChild:!0,children:(0,a.jsxs)(l(),{href:"/",className:"mt-4",children:[(0,a.jsx)(d.L,{name:"ArrowLeft"}),(0,a.jsx)("span",{children:"Back to Home"})]})})]}):this.props.children}constructor(...e){super(...e),this.state={hasError:!1}}}}}]);

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.