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
4.0 KiB
2 lines
4.0 KiB
"use strict";(self.webpackChunk=self.webpackChunk||[]).push([[1855],{51519:function(){},65839:function(){},39952:function(S,v,s){s.r(v),s.d(v,{Types:function(){return A}});var e=s(59301),I=s(71418),O=s(3113),g=s(69349),u=s(71471),f=s(40117),N=s(66593),B=s(83900),w=s(65839),V=s(51519),L=Object.defineProperty,T=Object.defineProperties,b=Object.getOwnPropertyDescriptors,D=Object.getOwnPropertySymbols,U=Object.prototype.hasOwnProperty,j=Object.prototype.propertyIsEnumerable,M=(a,t,l)=>t in a?L(a,t,{enumerable:!0,configurable:!0,writable:!0,value:l}):a[t]=l,P=(a,t)=>{for(var l in t||(t={}))U.call(t,l)&&M(a,l,t[l]);if(D)for(var l of D(t))j.call(t,l)&&M(a,l,t[l]);return a},F=(a,t)=>T(a,b(t)),h=(a,t,l)=>new Promise((d,c)=>{var E=o=>{try{i(l.next(o))}catch(m){c(m)}},_=o=>{try{i(l.throw(o))}catch(m){c(m)}},i=o=>o.done?d(o.value):Promise.resolve(o.value).then(E,_);i((l=l.apply(a,t)).next())});const K={data:void 0};var A=(a=>(a.GET_DATA="get-data",a.PRAISE="on-praise",a))(A||{});function W(a,t){switch(t.type){case"get-data":return F(P({},a),{data:t.payload});case"on-praise":return F(P({},a),{data:t.payload});default:throw new Error}}v.default=()=>{var a,t,l,d,c,E,_,i,o;const[m,C]=(0,e.useReducer)(W,K),{data:n}=m,{caseId:p}=(0,u.useParams)();(0,e.useEffect)(()=>{let r=!1;function y(){return h(this,null,function*(){const R=yield(0,f.U2)(`libraries/${p}.json`);r||(R.status===404?u.history.push("/moop_cases"):C({type:"get-data",payload:R}))})}return r||y(),()=>{r=!0}},[p]);function $(){return h(this,null,function*(){yield(0,f.v_)("praise_tread/like.json",{object_id:p,object_type:"library"});let r=P({},n);r.operation.user_praised=!0,r.praise_count+=1,C({type:"on-praise",payload:r})})}function Z(){return h(this,null,function*(){yield(0,f.IV)(`/libraries/${p}.json`),u.history.push("/moop_cases")})}return e.createElement(I.Z,{spinning:!n,delay:500},n?e.createElement("section",{className:"moop-info"},e.createElement("div",{className:"crumb"},e.createElement(u.Link,{to:"/moop_cases"},"\u6559\u5B66\u6848\u4F8B > "),e.createElement("span",null,n.title)),e.createElement("div",{className:"title"},e.createElement("h2",null,n.title,(a=n.tags)==null?void 0:a.map((r,y)=>e.createElement("span",{className:"label-"+y,key:r.id},r.name))),e.createElement(u.Link,{to:"/moop_cases"},"\u8FD4\u56DE")),e.createElement("div",{className:"moop-info-body"},e.createElement("div",{className:"moop-sub-title"},e.createElement("img",{src:`${N.Z.IMG_SERVER}/images/${(t=n.creator)==null?void 0:t.image_url}`,alt:"cover",width:50}),e.createElement("div",{className:"desc"},e.createElement("div",{className:"flex-container"},e.createElement("span",null,(l=n.creator)==null?void 0:l.name),(d=n.operation)!=null&&d.can_editable?e.createElement(u.Link,{to:`/moop_cases/${n.id}/edit`,style:{marginRight:10}},e.createElement(O.ZP,{type:"ghost"},"\u7F16\u8F91")):null,(c=n.operation)!=null&&c.can_deletable?e.createElement(g.Z,{placement:"bottomRight",title:"\u662F\u5426\u786E\u8BA4\u5220\u9664\uFF1F",onConfirm:Z},e.createElement(O.ZP,{type:"dashed"},"\u5220\u9664")):null),e.createElement("div",{className:"sum"},e.createElement("span",null,(E=n.creator)==null?void 0:E.school_name),e.createElement("span",null,"\u7F16\u7801\uFF1A",n.uuid),e.createElement("span",null,"\u53D1\u5E03\u65F6\u95F4\uFF1A",n.published_at)))),e.createElement("p",null,"\u4F5C\u8005\uFF1A",`${n.author_name} / ${n.author_school_name}`),e.createElement(B.Z,{value:n.content}),e.createElement("ul",{className:"attachment"},(_=n.attachments)==null?void 0:_.map(r=>e.createElement("li",{key:r.id},e.createElement("a",{href:r.url},e.createElement("i",{className:"iconfont icon-fujian"}),e.createElement("span",null,r.title),e.createElement("span",null,r.filesize))))),e.createElement("button",{className:"praise",disabled:(i=n.operation)==null?void 0:i.user_praised,onClick:$},(o=n.operation)!=null&&o.user_praised?e.createElement("span",null,"\u5DF2\u8D5E"):e.createElement("span",null,e.createElement("i",{className:"iconfont icon-dianzan"})),e.createElement("span",null,n.praise_count)))):null)}}}]);
|