1import{a as P,b as G,j as e,P as R,T as f,n as B,e as M,hr as E,aP as O,w as D,x as p,r as b,ah as w,a9 as A,S as F,B as L,m as j,gS as N,gT as Q,an as q,y as z,iH as W,fr as H,c as K,lP as V,a4 as $,t as U,D as X,X as I,c3 as J}from"./index-aREvobyF.js";import{S as Y}from"./StoryRecordLayout-DYZQk1IJ.js";import{S as Z}from"./SimpleTable-DF7EMZw0.js";import{C as ee}from"./vars-B8hcJ5CT.js";import{u as te}from"./useParamsStrict-CRxFNkx_.js";import"./PageMetaHeader-6lUw-EYb.js";import"./Stepper-B6Hsfzct.js";import"./ButtonWithTooltip-mLqxUQDU.js";import"./link-box-DcUyRFYn.js";import"./table-BqH1TAsn.js";try{let t=typeof window<"u"?window:typeof global<"u"?global:typeof globalThis<"u"?globalThis:typeof self<"u"?self:{},s=new t.Error().stack;s&&(t._sentryDebugIds=t._sentryDebugIds||{},t._sentryDebugIds[s]="14be87f0-aa1a-47cc-8cf8-eb6b4c20ff3c",t._sentryDebugIdIdentifier="sentry-dbid-14be87f0-aa1a-47cc-8cf8-eb6b4c20ff3c")}catch{}const re=({selectedCount:t,isLoading:s,onGenerate:o})=>{const d=P(),{open:u,onClose:h,setOpen:c,onOpen:m}=G(),y=t>0?`ì íë ${t}ëª ì íì 기ë¡ì ìì±í©ëë¤. AI í¬ë ë§ ${t}ê°ê° ì¬ì©ë©ëë¤.`:"ì íí íìì AI ê¸°ë¡ ì´ìì ë§ëëë¤.",n=()=>{t>0?o():m()};return e.jsxs(e.Fragment,{children:[e.jsxs(R,{justify:"end",w:"100%",children:[e.jsx(f,{textStyle:"b2-medium-compact",color:"fg.muted",children:y}),e.jsxs(B,{circle:!0,loading:s,onClick:n,children:[e.jsx(M,{as:E,boxSize:5}),"ê¸°ë¡ ìì±"]})]}),e.jsx(O,{trigger:{open:u,setOpen:c},description:"íì ê¸°ë¡ ê´ë¦¬ íë©´ììë ê¸°ë¡ ìì±ì´ ê°ë¥í©ëë¤.",title:`ì íë íìì´ ììµëë¤. 2ê·¸ëë ê¸°ë¡ ê´ë¦¬ íë©´ì¼ë¡ ì´ëí ê¹ì?`,cancelButton:{label:"ìëì¤, ì íí ê²ì."},confirmButton:{label:"ë¤, ì´ëí ê²ì.",onConfirm:()=>{h(),d("../record")}}})]})},se=({groupKey:t,groupMembers:s,isPolling:o,setIsPolling:d,selectedMemberKey:u,getItemProps:h,setValue:c,...m})=>{const{data:y}=D({...p.activityCharacters.group._ctx.detail({groupKey:t})._ctx.recordsAiStatus,refetchInterval:o?5e3:!1}),n=b.useMemo(()=>(y??[]).reduce((r,a)=>(r.set(a.group_member.key,a),r),new Map),[y]),k=Array.from(n.values()).filter(r=>{var a;return((a=r.last_ai_generated_record)==null?void 0:a.status)==="S"}),x=Array.from(n.values()).filter(r=>{var a;return((a=r.last_ai_generated_record)==null?void 0:a.status)==="I"}),l=n.size>0&&k.length===n.size;return b.useEffect(()=>{l?d(!1):x.length>0&&d(!0)},[l,x,d]),e.jsx(Z,{width:"100%",...m,rows:s.map(r=>{var _,v;const{onCheckedChange:a,...C}=h({value:r.key}),S=!!r.story,i=((v=(_=n.get(r.key))==null?void 0:_.last_ai_generated_record)==null?void 0:v.status)==="I",g=!S||i;return{key:r.key,backgroundColor:"white",color:"black.400",_hover:g?{backgroundColor:"gray.50",cursor:"not-allowed"}:{backgroundColor:"skyBlue.50",cursor:"pointer"},onClick:T=>{T.preventDefault(),g||a()},cells:[{key:"checkbox",children:e.jsx(w,{borderColor:"gray.200",colorPalette:"skyBlue",onCheckedChange:a,...C,disabled:g})},{key:"íë²",children:r.student.identity},{key:"ì´ë¦",children:r.student.name},{key:"story",w:"50%",maxW:"10rem",children:r.story||"-"},{key:"ìí",children:ae(n.get(r.key))}]}}),header:{backgroundColor:"gray.50",columns:[{key:"checkbox",children:e.jsx(w,{borderColor:"gray.200",colorPalette:"skyBlue",checked:u.length>0?u.length===s.length?!0:"indeterminate":!1,onCheckedChange:r=>{r.checked&&u.length===0?c(s.filter(a=>!!a.story).map(a=>a.key)):c([])}})},{key:"identity",children:"íë²"},{key:"name",children:"ì´ë¦"},{key:"story",maxWidth:"50%",children:"í¤ìë ë° ì¼í"},{key:"ìí",children:"ê¸°ë¡ ìì±"}]}})},ae=t=>{var o;if(t===void 0)return"-";const s=(o=t.last_ai_generated_record)==null?void 0:o.status;return s===void 0?"-":s==="S"?e.jsx(A,{colorPalette:"blue",children:"ì±ê³µ"}):s==="F"?e.jsx(A,{colorPalette:"red",children:"ì¤í¨"}):e.jsx(F,{color:"blue.solid",borderWidth:"3px",size:"sm","data-scope":"spinner",css:{"--spinner-track-color":"colors.border.border"}})},oe=({value:t,onChange:s})=>e.jsx(L,{width:"100%",bgColor:"bg.panel",borderRadius:"xl",p:"1.5rem",shadow:"sm",children:e.jsxs(j,{flexDir:"column",w:"100%",children:[e.jsx(f,{textStyle:"t4-semibold-compact",color:"fg",children:"AI ê¸°ë¡ ìì± ë¶ë"}),e.jsx(f,{textStyle:"b1-regular",color:"fg.fg",mt:3,children:"ê¸°ë¡ ìì± ë¶ëì ì íí´ ì£¼ì¸ì. ì ë ¥íì ë´ì©ì ë°ë¼ ì¤ì ìì± ë¶ëì ë¬ë¼ì§ ì ììµëë¤."}),e.jsx(N,{mt:5,value:t.toString(),onValueChange:o=>{s(Number(o.value))},children:e.jsx(j,{flexDir:"column",gap:4,children:ee.map(o=>e.jsx(Q,{value:o.value.toString(),children:e.jsx(f,{textStyle:"b1-medium-compact",children:o.label})},o.value))})})]})}),me=()=>{const t=q(),{groupKey:s}=te(t),[o,d]=b.useState(500),[u,h]=b.useState(!1),c=z(),m=P(),{aiLackOfCreditDisclosure:y}=W(),{value:n,getItemProps:k,setValue:x}=H({}),{data:l}=D({...p.activityCharacters.group._ctx.detail({groupKey:s})}),r=b.useMemo(()=>(l==null?void 0:l.group_members.sort((i,g)=>
2i.student.identity.localeCompare(g.student.identity)))??[],[l]),{mutate:a,isPending:C}=K({mutationFn:i=>V.appsActivityCharactersApiActivityCharacterGroupRecordsAiGenerate({requestBody:i}),onSuccess:()=>{c.invalidateQueries(p.credits.myCredits),c.invalidateQueries(p.users.aiStatuses),c.invalidateQueries({queryKey:p.activityCharacters.group._ctx.detail({groupKey:s})._ctx.recordsAiStatus.queryKey}),m("../record")},onError:i=>{if(i instanceof $&&i.status===429){y.onOpen();return}U.create({title:X(i),type:"error"})}}),S=()=>{const i=n.filter(g=>J.isString(g));a({member_keys:i,target_characters_count:o},{onSuccess:()=>{x([]),h(!0)}})};return e.jsx(Y,{group:l,status:"generate",children:e.jsxs(I,{width:"100%",height:"100%",mt:"0.625rem",gap:"1.5rem",align:"start",children:[e.jsxs(j,{flexDir:"column",w:"100%",gap:"1.5rem",align:"start",bgColor:"bg.panel",p:"1.5rem",borderRadius:"xl",boxShadow:"sm",children:[e.jsxs(I,{width:"100%",gap:"0.75rem",align:"start",children:[e.jsx(f,{textStyle:"t4-semibold-compact",color:"fg",children:"íì ì í"}),e.jsx(f,{textStyle:"b1-medium",color:"fg.fg",children:"기ë¡ì ìì±í íìì ì íí´ ì£¼ì¸ì. ì¼ AI í¬ë ë§ íë ë´ìì ì í ê°ë¥í©ëë¤."})]}),e.jsx(se,{groupKey:s,groupMembers:r,isPolling:u,setIsPolling:h,selectedMemberKey:n,getItemProps:k,setValue:x})]}),e.jsx(oe,{value:o,onChange:d}),e.jsx(re,{selectedCount:n.length,isLoading:C,onGenerate:S})]})})};export{me as default}; 3//# sourceMappingURL=RecordGeneratePage-CeA-HI_G.js.map
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.