You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
2 lines
7.2 KiB
2 lines
7.2 KiB
import{j as e}from"./markdown-vendor-DnN-_XEd.js";import{u as F,r as t}from"./data-vendor-DOiUz3Tw.js";import{a as B,g as V}from"./react-vendor-B8OyfHW2.js";import{bd as Y,a as T,be as z,f as H,R as K}from"./index-CcS3ZJ2N.js";import{c as G}from"./imageDragTransfer-BlwV0yxr.js";import{D as Q}from"./arco-vendor-Cm-ntj-q.js";function U(f){const m=f;return Array.isArray(m?.data?.list)?m.data.list:[]}const g="keyword",W=350,l={OFFICIAL:"official",COMMUNITY:"community"};function q({showDiyEntry:f=!0}){const m=B(),{t:c}=F(),[y,v]=V(),w=t.useRef(null),_=y.get(g)?.trim()??"",[C,S]=t.useState(()=>y.get(g)??""),[I,E]=t.useState([]),[x,p]=t.useState([]),[o,A]=t.useState(l.OFFICIAL),[j,L]=t.useState([]),[d,M]=t.useState(null),[O,u]=t.useState(!1),[N,b]=t.useState([]),h=t.useMemo(()=>G(),[]);t.useEffect(()=>()=>{h.dispose()},[h]),t.useEffect(()=>{Y().then(a=>{const r=a.data,s=Array.isArray(r)?r:[];s.sort((n,i)=>(n.sortNum??0)-(i.sortNum??0)),L(s)}).catch(()=>{L([])})},[]),t.useEffect(()=>{S(y.get(g)??"")},[y]),t.useEffect(()=>{const a=window.setTimeout(()=>{const r=C.trim();v(s=>{const n=new URLSearchParams(s);return r?n.set(g,r):n.delete(g),n},{replace:!0})},W);return()=>window.clearTimeout(a)},[C,v]),t.useEffect(()=>{const a={uploadCharacter:!0,page:1,pageSize:120};_&&(a.keyword=_);let r=!1;return T(a).then(s=>{r||b(s.data.list)}).catch(()=>{r||b([])}),()=>{r=!0}},[_]),t.useEffect(()=>{if(o!==l.OFFICIAL)return;const a={type:1,page:1,pageSize:120};d!=null&&(a.categoryId=d),_&&(a.keyword=_);let r=!1;return T(a).then(s=>{r||E(U(s))}).catch(()=>{r||E([])}),()=>{r=!0}},[o,d,_]),t.useEffect(()=>{if(o!==l.COMMUNITY)return;const a={};_&&(a.keyword=_);let r=!1;return z(a).then(s=>{r||p(U(s))}).catch(()=>{r||p([])}),()=>{r=!0}},[o,_]),t.useEffect(()=>{h.warmupPreviewImages(N.map(a=>a?.threeViewImage)),h.warmupPreviewImages(I.map(a=>a?.threeViewImage)),h.warmupPreviewImages(x.map(a=>a?.threeViewImage))},[x,h,N,I]);const k=t.useMemo(()=>d==null?c("pages.characters.category_all"):j.find(r=>r.id===d)?.name??c("pages.characters.category_label"),[j,d,c]),R=t.useCallback(a=>{H({id:a.id,onDeleted:r=>{const s=String(r);b(n=>n.filter(i=>String(i?.id??"")!==s)),p(n=>n.filter(i=>String(i?.id??"")!==s))},onUpdated:r=>{const s=String(r.id),n=i=>String(i?.id??"")!==s?i:{...i,title:r.title,description:r.description,isPublic:r.isPublic,avatar:r.avatar||i?.avatar};b(i=>i.map(n)),p(i=>i.map(n))}})},[]),D=t.useCallback(()=>{m(K.CHARACTERS_CREATE)},[]),P=(a,r)=>{h.startImageDrag({evt:a,dragUrl:r,previewUrl:r})};return e.jsxs("div",{className:"character_library_sections",children:[e.jsxs("section",{className:"character_library_sections__section","aria-labelledby":"character-library-my-heading",children:[e.jsxs("div",{className:"character_library_sections__section_head",children:[e.jsx("div",{className:"character_library_sections__title_wrap",children:e.jsx("h2",{id:"character-library-my-heading",className:"character_library_sections__section_title",children:c("pages.characters.my_section")})}),e.jsxs("label",{className:"character_library_sections__search",children:[e.jsx("img",{className:"character_library_sections__search_icon",src:new URL("/assets/ic_search-DREI2NzL.png",import.meta.url).href,alt:""}),e.jsx("input",{className:"character_library_sections__search_input",type:"search",placeholder:c("pages.characters.search_placeholder"),name:"keyword",value:C,onChange:a=>{S(a.target.value)},"aria-label":c("pages.characters.search_aria")})]})]}),e.jsxs("div",{className:"character_library_sections__grid",children:[f?e.jsxs("button",{type:"button",className:"character_library_sections__card character_library_sections__diy_card",onClick:()=>{D()},"aria-label":c("pages.characters.diy_aria"),children:[e.jsx("img",{className:"character_library_sections__diy_icon",src:new URL("/assets/ic_plus-DsKUbTM-.png",import.meta.url).href,alt:""}),e.jsx("p",{className:"character_library_sections__diy_label",children:c("pages.characters.diy_label")})]}):null,N.map((a,r)=>e.jsxs("button",{type:"button",className:"character_library_sections__card",draggable:!0,onMouseEnter:()=>{h.ensurePreviewImage(a.threeViewImage)},onDragStart:s=>{P(s,a.threeViewImage)},onClick:()=>{R(a)},children:[e.jsx("img",{className:"character_library_sections__card_image",src:a.avatar,alt:"",draggable:!1}),e.jsx("span",{className:"character_library_sections__card_tag",children:a.title})]},String(a.id??r)))]})]}),e.jsxs("section",{className:"character_library_sections__section","aria-label":c("pages.characters.official_section"),children:[e.jsxs("div",{className:"character_library_sections__section_head",children:[e.jsx("div",{className:"character_library_sections__title_wrap",children:e.jsxs("div",{className:"character_library_sections__tabs",role:"tablist","aria-label":c("pages.characters.official_section"),children:[e.jsx("button",{type:"button",role:"tab","aria-selected":o===l.OFFICIAL,className:["character_library_sections__section_tab",o===l.OFFICIAL?"character_library_sections__section_tab_active":""].filter(Boolean).join(" "),onClick:()=>{A(l.OFFICIAL),u(!1)},children:c("pages.characters.official_section")}),e.jsx("button",{type:"button",role:"tab","aria-selected":o===l.COMMUNITY,className:["character_library_sections__section_tab",o===l.COMMUNITY?"character_library_sections__section_tab_active":""].filter(Boolean).join(" "),onClick:()=>{A(l.COMMUNITY),u(!1)},children:c("pages.characters.community_section")})]})}),o===l.OFFICIAL?e.jsx("div",{ref:w,children:e.jsx(Q,{trigger:"click",position:"br",popupVisible:O,onVisibleChange:u,triggerProps:{style:{zIndex:2e3}},getPopupContainer:()=>w.current??document.body,droplist:e.jsxs("div",{className:"character_library_sections__category_dropdown",role:"menu","aria-label":c("pages.characters.category_aria"),children:[e.jsx("button",{type:"button",className:["character_library_sections__category_menu_item",d===null?"character_library_sections__category_menu_item_active":""].filter(Boolean).join(" "),role:"menuitem",onClick:()=>{M(null),u(!1)},children:c("pages.characters.category_all")}),j.map(a=>e.jsx("button",{type:"button",className:["character_library_sections__category_menu_item",d===a.id?"character_library_sections__category_menu_item_active":""].filter(Boolean).join(" "),role:"menuitem",onClick:()=>{M(a.id),u(!1)},children:a.name},a.id))]}),children:e.jsxs("button",{type:"button",className:"character_library_sections__category","aria-label":c("pages.characters.category_aria"),"aria-expanded":O,"aria-haspopup":"menu",children:[e.jsx("span",{children:k}),e.jsx("img",{className:"character_library_sections__category_icon",src:new URL("/assets/ic_arrow_right_gray-DM6GPP4g.png",import.meta.url).href,alt:""})]})})}):null]}),e.jsx("div",{className:"character_library_sections__grid",children:(o===l.OFFICIAL?I:x).map((a,r)=>e.jsxs("div",{className:"character_library_sections__card",draggable:!0,onMouseEnter:()=>{h.ensurePreviewImage(a.threeViewImage)},onDragStart:s=>{P(s,a.threeViewImage)},onClick:()=>{R(a)},children:[e.jsx("img",{className:"character_library_sections__card_image",src:a.avatar,alt:"",draggable:!1}),e.jsx("span",{className:"character_library_sections__card_tag",children:a.title})]},String(a.id??r)))})]})]})}function ra(){return e.jsx("div",{className:"charactersPage",children:e.jsx(q,{})})}export{q as CharacterLibrarySections,ra as default};
|
|
//# sourceMappingURL=index-CgCMSU56.js.map
|
|
|