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.
paopao-ce/web/dist/assets/Post-B2gFjwjL.js

1 line
28 KiB

import{o as e}from"./rolldown-runtime-Bhmf7a9N.js";import{A as t,Bt as n,C as r,D as i,H as a,J as o,K as s,M as c,O as l,Q as u,S as d,T as f,W as p,X as m,b as h,h as g,ht as _,lt as v,p as y,w as b,x}from"./@css-render-YsNuQTaE.js";import{r as S}from"./pinia-TbaIYBWH.js";import{i as C,r as w}from"./vue-router-Dw9lfhBK.js";import{$ as T,G as E,H as D,K as O,P as k,R as A,U as j,W as M,at as N,b as P,c as F,f as I,g as L,h as R,i as z,l as ee,n as B,nt as V,ot as H,q as U,r as W,rt as G,s as K,tt as te,x as ne,y as re}from"./naive-ui-Dv03sO69.js";import"./@juggle-BrKhuOcS.js";import{a as ie,c as q,l as ae,r as J,s as Y}from"./sidebar-B2rODElh.js";import{E as oe,F as se,G as ce,H as le,P as ue,U as de,V as fe,W as pe,_ as me,at as he,b as ge,d as X,h as _e,i as ve,it as ye,k as be,m as xe,n as Se,o as Ce,r as we,rt as Te,t as Ee,tt as De,w as Oe,y as ke,z as Ae}from"./@vicons-CZeOmejd.js";import"./moment-D_9q9veS.js";import{A as je,C as Me,D as Ne,M as Pe,O as Fe,T as Ie,a as Le,b as Re,c as ze,g as Be,h as Ve,k as He,l as Ue,m as We,o as Ge,p as Ke,r as qe,u as Je,w as Ye,x as Xe,y as Ze}from"./index-BzZcw6rK.js";import{t as Qe}from"./main-nav-BW6UKmWQ.js";import{t as $e}from"./post-skeleton-CJ8iRGBT.js";import{n as et,t as tt}from"./useUserAction-DVqObL5J.js";import{a as nt,i as rt,n as it,o as at,s as ot,t as st}from"./usePostContent-DV6QgefX.js";import{t as ct}from"./copy-to-clipboard-qdVIK2zo.js";import"./@vue-cLJXtEPP.js";import{t as lt}from"./v3-infinite-loading-Dj1QGmV8.js";import{t as ut}from"./lodash-DLCDS-2d.js";import{n as Z,r as Q}from"./IEnum-CpGNgU9g.js";var dt={class:`reply-item`},ft={class:`header-wrap`},pt={class:`username`},mt={class:`reply-name`},ht={class:`timestamp`},gt={class:`base-wrap`},_t={class:`content`},vt={class:`reply-switch`},yt={class:`time-item`},bt={class:`actions`},xt={class:`upvote-count`},St={class:`upvote-count`},Ct={key:2,class:`action-item`},wt=J(t({__name:`reply-item`,props:{tweetId:{},reply:{}},emits:[`focusReply`,`reload`],setup(e,{emit:t}){let a=e;ae();let{userInfo:s,userLogined:c}=S(q()),f=t,m=v(a.reply.is_thumbs_up==Q.YES),h=v(a.reply.is_thumbs_down==Q.YES),g=v(a.reply.thumbs_up_count),C=()=>{je({tweet_id:a.tweetId,comment_id:a.reply.comment_id,reply_id:a.reply.id}).then(e=>{m.value=!m.value,m.value?(g.value++,h.value=!1):g.value--}).catch(e=>{console.log(e)})},w=()=>{Fe({tweet_id:a.tweetId,comment_id:a.reply.comment_id,reply_id:a.reply.id}).then(e=>{h.value=!h.value,h.value&&(m.value&&=(g.value--,!1))}).catch(e=>{console.log(e)})},D=()=>{f(`focusReply`,a.reply)},k=()=>{Ue({id:a.reply.id}).then(e=>{window.$message.success(`删除成功`),setTimeout(()=>{f(`reload`)},50)}).catch(e=>{console.log(e)})};return(e,t)=>{let f=o(`router-link`),v=E,S=T,A=L,j=O;return p(),b(`div`,dt,[x(`div`,ft,[x(`div`,pt,[l(f,{class:`user-link`,to:{name:`user`,query:{s:a.reply.user.username}}},{default:u(()=>[i(n(a.reply.user.username),1)]),_:1},8,[`to`]),x(`span`,mt,n(a.reply.at_user_id>0?`回复`:`:`),1),a.reply.at_user_id>0?(p(),d(f,{key:0,class:`user-link`,to:{name:`user`,query:{s:a.reply.at_user.username}}},{default:u(()=>[i(n(a.reply.at_user.username),1)]),_:1},8,[`to`])):r(``,!0)]),x(`div`,ht,[i(n(a.reply.ip_loc)+` `,1),_(s).is_admin||_(s).id===a.reply.user.id?(p(),d(A,{key:0,"negative-text":`取消`,"positive-text":`确认`,onPositiveClick:k},{trigger:u(()=>[l(S,{quaternary:``,circle:``,size:`tiny`,class:`del-btn`},{icon:u(()=>[l(v,null,{default:u(()=>[l(_(X))]),_:1})]),_:1})]),default:u(()=>[t[1]||=i(` 是否删除这条回复? `,-1)]),_:1})):r(``,!0)])]),x(`div`,gt,[x(`div`,_t,[l(j,{"expand-trigger":`click`,"line-clamp":`5`,tooltip:!1},{default:u(()=>[i(n(a.reply.content),1)]),_:1})]),x(`div`,vt,[x(`span`,yt,n(_(qe)(a.reply.created_on)),1),x(`div`,bt,[_(c)?r(``,!0):(p(),b(`div`,{key:0,class:`action-item`,onClick:t[0]||=y(()=>{},[`stop`])},[l(v,{size:`medium`},{default:u(()=>[l(_(Se))]),_:1}),x(`span`,xt,n(g.value),1)])),_(c)?(p(),b(`div`,{key:1,class:`action-item hover`,onClick:y(C,[`stop`])},[l(v,{size:`medium`},{default:u(()=>[m.value?r(``,!0):(p(),d(_(Se),{key:0})),m.value?(p(),d(_(Ee),{key:1,class:`show`})):r(``,!0)]),_:1}),x(`span`,St,n(g.value>0?g.value:`赞`),1)])):r(``,!0),_(c)?r(``,!0):(p(),b(`div`,Ct,[l(v,{size:`medium`},{default:u(()=>[l(_(ve))]),_:1})])),_(c)?(p(),b(`div`,{key:3,class:`action-item hover`,onClick:y(w,[`stop`])},[l(v,{size:`medium`},{default:u(()=>[h.value?r(``,!0):(p(),d(_(ve),{key:0})),h.value?(p(),d(_(we),{key:1,class:`show`})):r(``,!0)]),_:1})])):r(``,!0),_(c)?(p(),b(`span`,{key:4,class:`show opacity-item reply-btn`,onClick:D},` 回复 `)):r(``,!0)])])])])}}}),[[`__scopeId`,`data-v-32f1555b`]]),Tt={class:`reply-compose-wrap`},Et={class:`reply-switch`},Dt={class:`time-item`},Ot={class:`actions`},kt={key:0,class:`action-item`},At={class:`upvote-count`},jt={class:`upvote-count`},Mt={key:2,class:`action-item`},Nt={key:0,class:`reply-input-wrap`},Pt=J(t({__name:`compose-reply`,props:{comment:{},atUserid:{default:0},atUsername:{default:``}},emits:[`reload`,`reset`],setup(e,{expose:t,emit:a}){let o=e;ae();let{userLogined:s}=S(q()),c=a,f=v(),m=v(!1),h=v(``),g=v(!1),C=v(o.comment.is_thumbs_up==Q.YES),w=v(o.comment.is_thumbs_down==Q.YES),D=v(o.comment.thumbs_up_count),O=()=>{He({tweet_id:o.comment.post_id,comment_id:o.comment.id}).then(e=>{C.value=!C.value,C.value?(D.value++,w.value=!1):D.value--}).catch(e=>{console.log(e)})},k=()=>{Ne({tweet_id:o.comment.post_id,comment_id:o.comment.id}).then(e=>{w.value=!w.value,w.value&&(C.value&&=(D.value--,!1))}).catch(e=>{console.log(e)})},A=e=>{m.value=e,e?setTimeout(()=>{f.value?.focus()},10):(g.value=!1,h.value=``,c(`reset`))},j=()=>{g.value=!0,Ge({comment_id:o.comment.id,at_user_id:o.atUserid,content:h.value}).then(e=>{A(!1),window.$message.success(`评论成功`),c(`reload`)}).catch(e=>{g.value=!1})};return t({switchReply:A}),(t,a)=>{let c=E,v=G,S=T,M=V;return p(),b(`div`,Tt,[x(`div`,Et,[x(`span`,Dt,n(_(qe)(e.comment.created_on)),1),x(`div`,Ot,[_(s)?r(``,!0):(p(),b(`div`,kt,[l(c,{size:`medium`},{default:u(()=>[l(_(Se))]),_:1}),x(`span`,At,n(D.value),1)])),_(s)?(p(),b(`div`,{key:1,class:`action-item hover`,onClick:y(O,[`stop`])},[l(c,{size:`medium`},{default:u(()=>[C.value?r(``,!0):(p(),d(_(Se),{key:0})),C.value?(p(),d(_(Ee),{key:1,class:`show`})):r(``,!0)]),_:1}),x(`span`,jt,n(D.value>0?D.value:`赞`),1)])):r(``,!0),_(s)?r(``,!0):(p(),b(`div`,Mt,[l(c,{size:`medium`},{default:u(()=>[l(_(ve))]),_:1})])),_(s)?(p(),b(`div`,{key:3,class:`action-item hover`,onClick:y(k,[`stop`])},[l(c,{size:`medium`},{default:u(()=>[w.value?r(``,!0):(p(),d(_(ve),{key:0})),w.value?(p(),d(_(we),{key:1,class:`show`})):r(``,!0)]),_:1})])):r(``,!0),_(s)&&!m.value?(p(),b(`span`,{key:4,class:`show reply-btn`,onClick:a[0]||=e=>A(!0)},` 回复 `)):r(``,!0),_(s)&&m.value?(p(),b(`span`,{key:5,class:`hide reply-btn`,onClick:a[1]||=e=>A(!1)},` 取消 `)):r(``,!0)])]),m.value?(p(),b(`div`,Nt,[l(M,null,{default:u(()=>[l(v,{ref_key:`inputInstRef`,ref:f,size:`small`,placeholder:o.atUsername?`@`+o.atUsername:`请输入回复内容..`,maxlength:_(300),value:h.value,"onUpdate:value":a[2]||=e=>h.value=e,"show-count":``,clearable:``},null,8,[`placeholder`,`maxlength`,`value`]),l(S,{type:`primary`,size:`small`,ghost:``,loading:g.value,onClick:j},{default:u(()=>[...a[3]||=[i(` 回复 `,-1)]]),_:1},8,[`loading`])]),_:1})])):r(``,!0)])}}}),[[`__scopeId`,`data-v-8eaa77b4`]]),Ft={class:`comment-item`},It={class:`nickname-wrap`},Lt={class:`username-wrap`},Rt={class:`opt-wrap`},zt={class:`timestamp`},Bt=[`innerHTML`],Vt={class:`reply-wrap`},Ht=J(t({__name:`comment-item`,props:{comment:{},postUserId:{}},emits:[`reload`],setup(e,{emit:t}){let a=C(),c=v(0),m=v(``),w=v(),D=ae(),{userInfo:O}=S(q()),k=t,A=e,j=h(()=>{let e=Object.assign({texts:[],imgs:[]},A.comment);return e.contents.map(t=>{(+t.type==1||+t.type==2)&&e.texts.push(t),+t.type==3&&e.imgs.push(t)}),e}),M=(e,t)=>{let n=e.target;if(n.dataset.detail){let e=n.dataset.detail.split(`:`);e.length===2&&(D.doRefresh(),e[0]===`tag`?window.$message.warning(`评论内的无效话题`):a.push({name:`user`,query:{s:e[1]}}))}},P=e=>{c.value=e.user_id,m.value=e.user?.username||``,w.value?.switchReply(!0)},F=()=>{k(`reload`)},I=()=>{c.value=0,m.value=``},R=()=>{ze({id:j.value.id}).then(e=>{window.$message.success(`删除成功`),setTimeout(()=>{F()},50)}).catch(e=>{})},z=()=>{Ze({id:j.value.id}).then(e=>{j.value.is_essence=e.highlight_status,window.$message.success(`操作成功`),setTimeout(()=>{F()},50)}).catch(e=>{})};return(t,a)=>{let h=te,v=o(`router-link`),S=N,C=E,D=T,k=L,A=nt,ee=Pt,B=wt,V=K;return p(),b(`div`,Ft,[l(V,{"content-indented":``},f({avatar:u(()=>[l(h,{round:``,size:30,src:j.value.user.avatar},null,8,[`src`])]),header:u(()=>[x(`span`,It,[l(v,{onClick:a[0]||=y(()=>{},[`stop`]),class:`username-link`,to:{name:`user`,query:{s:j.value.user.username}}},{default:u(()=>[i(n(j.value.user.nickname),1)]),_:1},8,[`to`])]),x(`span`,Lt,` @`+n(j.value.user.username),1),j.value.is_essence==_(Q).YES?(p(),d(S,{key:0,class:`top-tag`,type:`warning`,size:`small`,round:``},{default:u(()=>[...a[2]||=[i(` 精选 `,-1)]]),_:1})):r(``,!0)]),"header-extra":u(()=>[x(`div`,Rt,[x(`span`,zt,n(j.value.ip_loc),1),_(O).id===e.postUserId?(p(),d(k,{key:0,"negative-text":`取消`,"positive-text":`确认`,onPositiveClick:z},{trigger:u(()=>[l(D,{quaternary:``,circle:``,size:`tiny`,class:`action-btn`},{icon:u(()=>[j.value.is_essence==_(Q).NO?(p(),d(C,{key:0},{default:u(()=>[l(_(xe))]),_:1})):(p(),d(C,{key:1},{default:u(()=>[l(_(_e))]),_:1}))]),_:1})]),default:u(()=>[i(` `+n(j.value.is_essence==_(Q).NO?`是否精选这条评论`:`是否取消精选`),1)]),_:1})):r(``,!0),_(O).is_admin||_(O).id===j.value.user.id?(p(),d(k,{key:1,"negative-text":`取消`,"positive-text":`确认`,onPositiveClick:R},{trigger:u(()=>[l(D,{quaternary:``,circle:``,size:`tiny`,class:`action-btn`},{icon:u(()=>[l(C,null,{default:u(()=>[l(_(X))]),_:1})]),_:1})]),default:u(()=>[a[3]||=i(` 是否删除这条评论? `,-1)]),_:1})):r(``,!0)])]),footer:u(()=>[j.value.imgs.length>0?(p(),d(A,{key:0,imgs:j.value.imgs},null,8,[`imgs`])):r(``,!0),l(ee,{ref_key:`replyComposeRef`,ref:w,comment:j.value,"at-userid":c.value,"at-username":m.value,onReload:F,onReset:I},null,8,[`comment`,`at-userid`,`at-username`]),x(`div`,Vt,[(p(!0),b(g,null,s(j.value.replies,e=>(p(),d(B,{key:e.id,reply:e,"tweet-id":j.value.post_id,onFocusReply:P,onReload:F},null,8,[`reply`,`tweet-id`]))),128))])]),_:2},[j.value.texts.length>0?{name:`description`,fn:u(()=>[(p(!0),b(g,null,s(j.value.texts,e=>(p(),b(`span`,{key:e.id,class:`comment-text`,onClick:a[1]||=y(e=>M(e,j.value.id),[`stop`]),innerHTML:_(it)(e.content).content},null,8,Bt))),128))]),key:`0`}:void 0]),1024)])}}}),[[`__scopeId`,`data-v-af009e85`]]),Ut=ut(),Wt={key:0,class:`compose-wrap`},Gt={class:`compose-line`},Kt={class:`compose-user`},qt={class:`compose-line compose-options`},Jt={class:`attachment`},Yt={class:`submit-wrap`},Xt={class:`attachment-list-wrap`},Zt={key:1,class:`compose-wrap`},Qt={key:0,class:`login-only-wrap`},$t={key:1,class:`login-wrap`},en=J(t({__name:`compose-comment`,props:{lock:{default:0},postId:{default:0}},emits:[`post-success`],setup(e,{emit:t}){let a=t,o=e,s=ae(),{userInfo:c}=S(q()),f=v([]),m=v(!1),g=v(!1),y=v(!1),C=v(``),w=v(),D=v(`public/image`),O=v([]),k=v([]),A=v(!0),j=h(()=>`Bearer `+localStorage.getItem(Y)),M=(0,Ut.debounce)(e=>{ie.v1.suggest.get.users({k:e}).then(e=>{let t=[];e.suggest.map(e=>{t.push({label:e,value:e})}),f.value=t,g.value=!1}).catch(e=>{g.value=!1})},200),N=(e,t)=>{g.value||(g.value=!0,t===`@`&&M(e))},P=e=>{e.length>300?C.value=e.substring(0,300):C.value=e},F=e=>{D.value=e},I=e=>{for(let i=0;i<e.length;i++){var t=e[i].name,n=t.split(`.`).slice(0,-1).join(`.`),r=t.split(`.`).pop();n.length>30&&(e[i].name=n.substring(0,18)+`...`+n.substring(n.length-9)+`.`+r)}O.value=e},L=async e=>D.value===`public/image`&&![`image/png`,`image/jpg`,`image/jpeg`,`image/gif`].includes(e.file.file?.type)?(window.$message.warning(`图片仅允许 png/jpg/gif 格式`),!1):D.value===`image`&&e.file.file?.size>10485760?(window.$message.warning(`图片大小不能超过10MB`),!1):!0,ee=({file:e,event:t})=>{try{let n=JSON.parse(t.target?.response);n.code===0&&D.value===`public/image`&&k.value.push({id:e.id,content:n.data.content})}catch{window.$message.error(`上传失败`)}},V=({file:e,event:t})=>{try{let e=JSON.parse(t.target?.response);if(e.code!==0){let t=e.msg||`上传失败`;e.details&&e.details.length>0&&e.details.map(e=>{t+=`:`+e}),window.$message.error(t)}}catch{window.$message.error(`上传失败`)}},H=({file:e})=>{let t=k.value.findIndex(t=>t.id===e.id);t>-1&&k.value.splice(t,1)},G=()=>{m.value=!0},K=()=>{m.value=!1,w.value?.clear(),O.value=[],C.value=``,k.value=[]},ne=()=>{if(C.value.trim().length===0){window.$message.warning(`请输入内容哦`);return}let{users:e}=it(C.value),t=[],n=100;t.push({content:C.value,type:2,sort:n}),k.value.map(e=>{n++,t.push({content:e.content,type:3,sort:n})}),y.value=!0,Le({contents:t,post_id:o.postId,users:Array.from(new Set(e))}).then(e=>{window.$message.success(`发布成功`),y.value=!1,a(`post-success`),K()}).catch(e=>{y.value=!1})},J=e=>{s.triggerAuth(!0),s.triggerAuthKey(e)};return(e,t)=>{let a=te,s=re,h=E,v=T,S=z,k=R,M=U,ie=W,q=B;return p(),b(`div`,null,[_(c).id>0?(p(),b(`div`,Wt,[x(`div`,Gt,[x(`div`,Kt,[l(a,{round:``,size:30,src:_(c).avatar},null,8,[`src`])]),l(s,{type:`textarea`,size:`large`,autosize:``,bordered:!1,options:f.value,prefix:[`@`],loading:g.value,value:C.value,disabled:o.lock===1,"onUpdate:value":P,onSearch:N,onFocus:G,placeholder:o.lock===1?`泡泡已被锁定,回复功能已关闭`:`快来评论两句吧...`},null,8,[`options`,`loading`,`value`,`disabled`,`placeholder`])]),m.value?(p(),d(q,{key:0,ref_key:`uploadRef`,ref:w,abstract:``,"list-type":`image`,multiple:!0,max:9,action:`/v1/attachment`,headers:{Authorization:j.value},data:{type:D.value},"file-list":O.value,onBeforeUpload:L,onFinish:ee,onError:V,onRemove:H,"onUpdate:fileList":I},{default:u(()=>[x(`div`,qt,[x(`div`,Jt,[l(S,{abstract:``},{default:u(({handleClick:e})=>[l(v,{disabled:O.value.length>0&&D.value===`public/video`||O.value.length===9,onClick:()=>{F(`public/image`),e()},quaternary:``,circle:``,type:`primary`},{icon:u(()=>[l(h,{size:`20`,color:`var(--primary-color)`},{default:u(()=>[l(_(Ae))]),_:1})]),_:1},8,[`disabled`,`onClick`])]),_:1}),l(M,{trigger:`hover`,placement:`bottom`},{trigger:u(()=>[l(k,{class:`text-statistic`,type:`circle`,"show-indicator":!1,status:`success`,"stroke-width":10,percentage:C.value.length/_(300)*100},null,8,[`percentage`])]),default:u(()=>[i(` `+n(C.value.length)+` / `+n(_(300)),1)]),_:1})]),x(`div`,Yt,[l(v,{quaternary:``,round:``,type:`tertiary`,class:`cancel-btn`,size:`small`,onClick:K},{default:u(()=>[...t[3]||=[i(` 取消 `,-1)]]),_:1}),l(v,{loading:y.value,onClick:ne,type:`primary`,secondary:``,size:`small`,round:``},{default:u(()=>[...t[4]||=[i(` 发布 `,-1)]]),_:1},8,[`loading`])])]),x(`div`,Xt,[l(ie)])]),_:1},8,[`headers`,`data`,`file-list`])):r(``,!0)])):(p(),b(`div`,Zt,[t[8]||=x(`div`,{class:`login-wrap`},[x(`span`,{class:`login-banner`},` 登录后,精彩更多`)],-1),A.value?r(``,!0):(p(),b(`div`,Qt,[l(v,{strong:``,secondary:``,round:``,type:`primary`,onClick:t[0]||=e=>J(`signin`)},{default:u(()=>[...t[5]||=[i(` 登录 `,-1)]]),_:1})])),A.value?(p(),b(`div`,$t,[l(v,{strong:``,secondary:``,round:``,type:`primary`,onClick:t[1]||=e=>J(`signin`)},{default:u(()=>[...t[6]||=[i(` 登录 `,-1)]]),_:1}),l(v,{strong:``,secondary:``,round:``,type:`info`,onClick:t[2]||=e=>J(`signup`)},{default:u(()=>[...t[7]||=[i(` 注册 `,-1)]]),_:1})])):r(``,!0)]))])}}}),[[`__scopeId`,`data-v-16072a96`]]),tn=e(ct()),nn={class:`username-wrap`},rn={class:`options`},an={key:0},on=[`innerHTML`],sn={class:`timestamp`},cn={key:0},ln={key:1},un={class:`opts-wrap`},dn={class:`opt-item`},fn=t({__name:`post-detail`,props:{post:{}},emits:[`reload`],setup(e,{emit:t}){let f=ae(),m=q(),{collapsedLeft:w}=S(f),{userInfo:O}=S(m),P=C(),F=j(),I=v(!1),L=v(!1),R=e,z=v(!1),ee=v(!1),B=v(!1),V=v(!1),H=v(!1),U=v(!1),W=v(Z.PUBLIC),G=v(!1),ne=v({id:0,avatar:``,username:``,nickname:``,is_admin:!1,is_friend:!0,is_following:!1,created_on:0,follows:0,followings:0,status:1}),re=e=>{ne.value=e,G.value=!0},ie=()=>{G.value=!1},J=t,Y=st(R.post,!0),X=e=>()=>c(E,null,{default:()=>c(e)}),_e=h(()=>{let e=[];if(!O.value.is_admin&&O.value.id!=R.post.user.id)return e.push({label:`私信 @`+R.post.user.username,key:`whisper`,icon:X(be)}),R.post.user.is_following?e.push({label:`取消关注 @`+R.post.user.username,key:`unfollow`,icon:X(me)}):e.push({label:`关注 @`+R.post.user.username,key:`follow`,icon:X(he)}),e;e.push({label:`删除`,key:`delete`,icon:X(ke)}),Y.value.is_lock===0?e.push({label:`锁定`,key:`lock`,icon:X(se)}):e.push({label:`解锁`,key:`unlock`,icon:X(ue)}),O.value.is_admin&&(Y.value.is_top===0?e.push({label:`置顶`,key:`stick`,icon:X(Oe)}):e.push({label:`取消置顶`,key:`unstick`,icon:X(Oe)})),Y.value.is_essence===0?e.push({label:`设为亮点`,key:`highlight`,icon:X(de)}):e.push({label:`取消亮点`,key:`unhighlight`,icon:X(de)});let t;return t=Y.value.visibility===Z.PUBLIC?{label:`公开`,key:`vpublic`,icon:X(pe),children:[{label:`私密`,key:`vprivate`,icon:X(ce)},{label:`关注可见`,key:`vfollowing`,icon:X(he)}]}:Y.value.visibility===Z.PRIVATE?{label:`私密`,key:`vprivate`,icon:X(ce),children:[{label:`公开`,key:`vpublic`,icon:X(pe)},{label:`关注可见`,key:`vfollowing`,icon:X(he)}]}:Y.value.visibility===Z.FRIEND?{label:`好友可见`,key:`vfriend`,icon:X(oe),children:[{label:`公开`,key:`vpublic`,icon:X(pe)},{label:`私密`,key:`vprivate`,icon:X(ce)},{label:`关注可见`,key:`vfollowing`,icon:X(he)}]}:{label:`关注可见`,key:`vfollowing`,icon:X(he),children:[{label:`公开`,key:`vpublic`,icon:X(pe)},{label:`私密`,key:`vprivate`,icon:X(ce)}]},Y.value.visibility!==Z.FRIEND&&t.children?.push({label:`好友可见`,key:`vfriend`,icon:X(oe)}),e.push(t),e}),ve=e=>{tt.followAction(F,e.user.id,e.user.username,e.user.is_following).then(t=>{e.user.is_following=t})},xe=e=>{P.push({name:`post`,query:{id:e}})},Se=(e,t)=>{if(e.target.dataset.detail){let t=e.target.dataset.detail.split(`:`);if(t.length===2){f.doRefresh(),t[0]===`tag`?P.push({name:`home`,query:{q:t[1],t:`tag`}}):P.push({name:`user`,query:{s:t[1]}});return}}xe(t)},we=e=>{switch(e){case`whisper`:re(R.post.user);break;case`follow`:case`unfollow`:ve(R.post);break;case`delete`:z.value=!0;break;case`lock`:case`unlock`:ee.value=!0;break;case`stick`:case`unstick`:B.value=!0;break;case`highlight`:case`unhighlight`:V.value=!0;break;case`vpublic`:W.value=0,H.value=!0;break;case`vprivate`:W.value=1,H.value=!0;break;case`vfriend`:W.value=2,H.value=!0;break;case`vfollowing`:W.value=3,H.value=!0;break;default:break}},Ee=()=>{Je({id:Y.value.id}).then(e=>{window.$message.success(`删除成功`),P.replace(`/`),setTimeout(()=>{f.doRefresh()},50)}).catch(e=>{U.value=!1})},Ae=()=>{Xe({id:Y.value.id}).then(e=>{J(`reload`,Y.value.id),e.lock_status===1?window.$message.success(`锁定成功`):window.$message.success(`解锁成功`)}).catch(e=>{U.value=!1})},je=()=>{Ie({id:Y.value.id}).then(e=>{J(`reload`,Y.value.id),e.top_status===1?window.$message.success(`置顶成功`):window.$message.success(`取消置顶成功`)}).catch(e=>{U.value=!1})},Ne=()=>{Re({id:Y.value.id}).then(e=>{Y.value={...Y.value,is_essence:e.highlight_status},e.highlight_status===1?window.$message.success(`设为亮点成功`):window.$message.success(`取消亮点成功`)}).catch(e=>{U.value=!1})},Fe=()=>{Pe({id:Y.value.id,visibility:W.value}).then(e=>{J(`reload`,Y.value.id),window.$message.success(`修改可见性成功`)}).catch(e=>{U.value=!1})},Le=()=>{Ye({id:Y.value.id}).then(e=>{I.value=e.status,e.status?Y.value={...Y.value,upvote_count:Y.value.upvote_count+1}:Y.value={...Y.value,upvote_count:Y.value.upvote_count-1}}).catch(e=>{console.log(e)})},ze=()=>{Me({id:Y.value.id}).then(e=>{L.value=e.status,e.status?Y.value={...Y.value,collection_count:Y.value.collection_count+1}:Y.value={...Y.value,collection_count:Y.value.collection_count-1}}).catch(e=>{console.log(e)})},Ve=()=>{(0,tn.default)(`${window.location.origin}/#/post?id=${Y.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success(`链接已复制到剪贴板`)};return a(()=>{O.value.id>0&&(Be({id:Y.value.id}).then(e=>{I.value=e.status}).catch(e=>{console.log(e)}),We({id:Y.value.id}).then(e=>{L.value=e.status}).catch(e=>{console.log(e)}))}),(e,t)=>{let a=te,c=o(`router-link`),f=N,m=T,h=M,v=D,S=et,C=rt,O=nt,j=at,P=ot,F=A,R=k,U=K;return p(),b(`div`,{class:`detail-item`,onClick:t[7]||=e=>xe(_(Y).id)},[l(U,null,{avatar:u(()=>[l(a,{round:``,size:30,src:_(Y).user.avatar},null,8,[`src`])]),header:u(()=>[l(c,{onClick:t[0]||=y(()=>{},[`stop`]),class:`username-link`,to:{name:`user`,query:{s:_(Y).user.username}}},{default:u(()=>[i(n(_(Y).user.nickname),1)]),_:1},8,[`to`]),x(`span`,nn,` @`+n(_(Y).user.username),1),_(Y).is_top?(p(),d(f,{key:0,class:`top-tag`,type:`warning`,size:`small`,round:``},{default:u(()=>[...t[8]||=[i(` 置顶 `,-1)]]),_:1})):r(``,!0),_(Y).visibility==_(Z).PRIVATE?(p(),d(f,{key:1,class:`top-tag`,type:`error`,size:`small`,round:``},{default:u(()=>[...t[9]||=[i(` 私密 `,-1)]]),_:1})):r(``,!0),_(Y).visibility==_(Z).FRIEND?(p(),d(f,{key:2,class:`top-tag`,type:`info`,size:`small`,round:``},{default:u(()=>[...t[10]||=[i(` 好友可见 `,-1)]]),_:1})):r(``,!0)]),"header-extra":u(()=>[x(`div`,rn,[l(h,{placement:`bottom-end`,trigger:`click`,size:`small`,options:_e.value,onSelect:we},{default:u(()=>[l(m,{quaternary:``,circle:``},{icon:u(()=>[l(_(E),null,{default:u(()=>[l(_(Ce))]),_:1})]),_:1})]),_:1},8,[`options`])]),l(v,{show:z.value,"onUpdate:show":t[1]||=e=>z.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定删除该泡泡动态吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:Ee},null,8,[`show`]),l(v,{show:ee.value,"onUpdate:show":t[2]||=e=>ee.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定`+(_(Y).is_lock?`解锁`:`锁定`)+`该泡泡动态吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:Ae},null,8,[`show`,`content`]),l(v,{show:B.value,"onUpdate:show":t[3]||=e=>B.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定`+(_(Y).is_top?`取消置顶`:`置顶`)+`该泡泡动态吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:je},null,8,[`show`,`content`]),l(v,{show:V.value,"onUpdate:show":t[4]||=e=>V.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定将该泡泡动态`+(_(Y).is_essence?`取消亮点`:`设为亮点`)+`吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:Ne},null,8,[`show`,`content`]),l(v,{show:H.value,"onUpdate:show":t[5]||=e=>H.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定将该泡泡动态可见度修改为`+(W.value==0?`公开`:W.value==1?`私密`:W.value==2?`好友可见`:`关注可见`)+`吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:Fe},null,8,[`show`,`content`]),l(S,{show:G.value,user:ne.value,onSuccess:ie},null,8,[`show`,`user`])]),footer:u(()=>[l(C,{attachments:_(Y).attachments},null,8,[`attachments`]),l(C,{attachments:_(Y).charge_attachments,price:_(Y).attachment_price},null,8,[`attachments`,`price`]),l(O,{imgs:_(Y).imgs},null,8,[`imgs`]),l(j,{videos:_(Y).videos,full:!0},null,8,[`videos`]),l(P,{links:_(Y).links},null,8,[`links`]),x(`div`,sn,[i(` 发布于 `+n(_(qe)(_(Y).created_on))+` `,1),_(Y).ip_loc?(p(),b(`span`,cn,[l(F,{vertical:``}),i(` `+n(_(Y).ip_loc),1)])):r(``,!0),!_(w)&&_(Y).created_on!=_(Y).latest_replied_on?(p(),b(`span`,ln,[l(F,{vertical:``}),i(` 最后回复 `+n(_(qe)(_(Y).latest_replied_on)),1)])):r(``,!0)])]),action:u(()=>[x(`div`,un,[l(R,{justify:`space-between`},{default:u(()=>[x(`div`,{class:`opt-item hover`,onClick:y(Le,[`stop`])},[l(_(E),{size:`20`,class:`opt-item-icon`},{default:u(()=>[I.value?r(``,!0):(p(),d(_(fe),{key:0})),I.value?(p(),d(_(le),{key:1,color:`red`})):r(``,!0)]),_:1}),i(` `+n(_(Y).upvote_count),1)]),x(`div`,dn,[l(_(E),{size:`20`,class:`opt-item-icon`},{default:u(()=>[l(_(De))]),_:1}),i(` `+n(_(Y).comment_count),1)]),x(`div`,{class:`opt-item hover`,onClick:y(ze,[`stop`])},[l(_(E),{size:`20`,class:`opt-item-icon`},{default:u(()=>[L.value?r(``,!0):(p(),d(_(Te),{key:0})),L.value?(p(),d(_(ye),{key:1,color:`#ff7600`})):r(``,!0)]),_:1}),i(` `+n(_(Y).collection_count),1)]),x(`div`,{class:`opt-item hover`,onClick:y(Ve,[`stop`])},[l(_(E),{size:`20`,class:`opt-item-icon`},{default:u(()=>[l(_(ge))]),_:1}),i(` `+n(_(Y).share_count),1)])]),_:1})])]),default:u(()=>[_(Y).texts.length>0?(p(),b(`div`,an,[(p(!0),b(g,null,s(_(Y).texts,e=>(p(),b(`span`,{key:e.id,class:`post-text`,onClick:t[6]||=y(e=>Se(e,_(Y).id),[`stop`]),innerHTML:_(it)(e.content).content},null,8,on))),128))])):r(``,!0)]),_:1})])}}}),pn=e(lt()),mn={key:0,class:`detail-wrap`},hn={key:1,class:`empty-wrap`},gn={key:0,class:`comment-opts-wrap`},_n={key:2},vn={key:0,class:`skeleton-wrap`},yn={key:1},bn={key:0,class:`empty-wrap`},xn={key:0,class:`load-more-spinner`},Sn={key:1,class:`load-more-spinner`},Cn={key:2,class:`load-more-spinner`},wn={key:3,class:`load-more-spinner`},Tn={key:4,class:`load-more-spinner`},En={key:5,class:`load-more-spinner`},$=20,Dn=J(t({__name:`Post`,setup(e){let t=w(),n=v({}),i=v(!1),o=v(!1),c=v([]),f=h(()=>+t.query.id),y=v(`default`),S=v(!0),C={loading(){},loaded(){},complete(){},error(){}},T=e=>{y.value=e,e===`default`&&(S.value=!0),G(C)},E=e=>{Ke({id:e}).then(e=>{n.value=e}).catch(e=>{})},D=()=>{n.value={id:0},i.value=!0,Ke({id:f.value}).then(e=>{i.value=!1,n.value=e,G(C)}).catch(e=>{i.value=!1})},O=1,A=v(!1),j=v([]),M=e=>{A.value||Ve({id:n.value.id,style:`default`,page:O,page_size:$}).then(t=>{e!==null&&(C=e),t.list.length<$?A.value=!0:O++,t.list.length>0&&(O===1?j.value=t.list:j.value.push(...t.list),c.value=j.value),C.loaded(),o.value=!1}).catch(e=>{o.value=!1,C.error()})},N=1,L=v(!1),R=v([]),z=e=>{L.value||Ve({id:n.value.id,style:`hots`,page:N,page_size:$}).then(t=>{e!==null&&(C=e),t.list.length<$?L.value=!0:N++,t.list.length>0&&(N===1?R.value=t.list:R.value.push(...t.list),c.value=R.value),C.loaded(),o.value=!1}).catch(e=>{o.value=!1,C.error()})},B=1,V=v(!1),U=v([]),W=e=>{V.value||Ve({id:n.value.id,style:`newest`,page:B,page_size:$}).then(t=>{e!==null&&(C=e),t.list.length<$?V.value=!0:B++,t.list.length>0&&(B===1?U.value=t.list:U.value.push(...t.list),c.value=U.value),C.loaded(),o.value=!1}).catch(e=>{o.value=!1,C.error()})},G=e=>{f.value<1||(c.value.length===0&&(o.value=!0),y.value===`default`?(c.value=j.value,M(e)):y.value===`hots`?(c.value=R.value,z(e)):(c.value=U.value,W(e)),o.value=!1)},K=()=>{O=1,A.value=!1,j.value=[],N=1,L.value=!1,R.value=[],B=1,V.value=!1,U.value=[],G(C)};return a(()=>{D()}),m(f,()=>{f.value>0&&t.name===`post`&&D()}),(e,t)=>{let a=Qe,f=fn,m=H,h=I,v=P,y=ee,C=F,w=en,D=$e,O=Ht,j=k,M=ne;return p(),b(`div`,null,[l(a,{title:`泡泡详情`,back:!0}),l(M,{class:`main-content-wrap`,bordered:``},{default:u(()=>[l(v,null,{default:u(()=>[l(h,{show:i.value},{default:u(()=>[n.value.id>0?(p(),b(`div`,mn,[l(f,{post:n.value,onReload:E},null,8,[`post`])])):(p(),b(`div`,hn,[l(m,{size:`large`,description:`暂无数据`})]))]),_:1},8,[`show`])]),_:1}),n.value.id>0?(p(),b(`div`,gn,[l(C,{type:`bar`,"justify-content":`end`,size:`small`,"tab-style":`margin-left: -24px;`,animated:``,"onUpdate:value":T},{prefix:u(()=>[...t[0]||=[x(`span`,{class:`comment-title-item`},`评论`,-1)]]),default:u(()=>[l(y,{name:`default`,tab:`推荐`}),l(y,{name:`hots`,tab:`热门`}),l(y,{name:`newest`,tab:`最新`})]),_:1})])):r(``,!0),n.value.id>0?(p(),d(v,{key:1},{default:u(()=>[l(w,{lock:n.value.is_lock,"post-id":n.value.id,onPostSuccess:K},null,8,[`lock`,`post-id`])]),_:1})):r(``,!0),n.value.id>0?(p(),b(`div`,_n,[o.value?(p(),b(`div`,vn,[l(D,{num:5})])):(p(),b(`div`,yn,[c.value.length===0?(p(),b(`div`,bn,[l(m,{size:`large`,description:`暂无评论,快来抢沙发`})])):r(``,!0),(p(!0),b(g,null,s(c.value,e=>(p(),d(v,{key:e.id},{default:u(()=>[l(O,{comment:e,postUserId:n.value.user_id,onReload:K},null,8,[`comment`,`postUserId`])]),_:2},1024))),128))]))])):r(``,!0),c.value.length>=$?(p(),d(j,{key:3,justify:`center`},{default:u(()=>[l(_(pn.default),{class:`load-more`,slots:{complete:`没有更多数据了`,error:`加载出错`},onInfinite:G},{spinner:u(()=>[S.value&&A.value?(p(),b(`span`,xn)):r(``,!0),!S.value&&_(L)?(p(),b(`span`,Sn)):r(``,!0),!S.value&&_(V)?(p(),b(`span`,Cn)):r(``,!0),S.value&&!A.value?(p(),b(`span`,wn,`加载评论`)):r(``,!0),!S.value&&!_(L)?(p(),b(`span`,Tn,`加载评论`)):r(``,!0),!S.value&&!_(V)?(p(),b(`span`,En,`加载评论`)):r(``,!0)]),_:1})]),_:1})):r(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-1d30990d`]]);export{Dn as default};