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-B-g3aX0p.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{G as T,H as E,K as D,P as O,R as k,U as A,W as j,at as M,b as N,c as P,ct as F,f as I,g as L,h as R,i as z,it as B,l as V,lt as H,n as U,nt as W,ot as G,q as K,r as ee,s as te,x as ne,y as re}from"./naive-ui-DIGPL69-.js";import"./@juggle-BrKhuOcS.js";import{a as ie,c as q,l as ae,r as J,s as Y}from"./sidebar-CIS7wt6Z.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,nt as Ce,o as we,ot as Te,r as Ee,t as De,w as Oe,y as ke,z as Ae}from"./@vicons-Bd7TWO2p.js";import"./moment-D_9q9veS.js";import{A as je,E as Me,N as Ne,O as Pe,S as Fe,T as Ie,_ as Le,b as Re,d as ze,g as Be,h as Ve,i as He,j as Ue,k as We,l as Ge,m as Ke,o as qe,s as Je,u as Ye,w as Xe,x as Ze}from"./index-D3WChr5M.js";import{t as Qe}from"./main-nav-BLJ4tcq0.js";import{t as $e}from"./post-skeleton-1eDXvLg5.js";import{n as et,t as tt}from"./useUserAction-iK-3kVew.js";import{a as nt,i as rt,n as it,o as at,s as ot,t as st}from"./usePostContent-Bn5GGxB9.js";import{t as ct}from"./copy-to-clipboard-BDzdVqb_.js";import"./@vue-BhUWcoL8.js";import{t as lt}from"./v3-infinite-loading-DRGEwjx_.js";import{t as ut}from"./lodash-Dr6o4bo3.js";import{n as Z,r as Q}from"./IEnum-BCKr4OIN.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=()=>{Ue({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=()=>{We({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)})},E=()=>{f(`focusReply`,a.reply)},O=()=>{Ye({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=T,S=W,k=L,A=D;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(k,{key:0,"negative-text":`取消`,"positive-text":`确认`,onPositiveClick:O},{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(A,{"expand-trigger":`click`,"line-clamp":`5`,tooltip:!1},{default:u(()=>[i(n(a.reply.content),1)]),_:1})]),x(`div`,vt,[x(`span`,yt,n(_(He)(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(_(De),{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(_(Ee),{key:1,class:`show`})):r(``,!0)]),_:1})])):r(``,!0),_(c)?(p(),b(`span`,{key:4,class:`show opacity-item reply-btn`,onClick:E},` 回复 `)):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),E=v(o.comment.thumbs_up_count),D=()=>{je({tweet_id:o.comment.post_id,comment_id:o.comment.id}).then(e=>{C.value=!C.value,C.value?(E.value++,w.value=!1):E.value--}).catch(e=>{console.log(e)})},O=()=>{Pe({tweet_id:o.comment.post_id,comment_id:o.comment.id}).then(e=>{w.value=!w.value,w.value&&(C.value&&=(E.value--,!1))}).catch(e=>{console.log(e)})},k=e=>{m.value=e,e?setTimeout(()=>{f.value?.focus()},10):(g.value=!1,h.value=``,c(`reset`))},A=()=>{g.value=!0,Je({comment_id:o.comment.id,at_user_id:o.atUserid,content:h.value}).then(e=>{k(!1),window.$message.success(`评论成功`),c(`reload`)}).catch(e=>{g.value=!1})};return t({switchReply:k}),(t,a)=>{let c=T,v=G,S=W,j=M;return p(),b(`div`,Tt,[x(`div`,Et,[x(`span`,Dt,n(_(He)(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(E.value),1)])),_(s)?(p(),b(`div`,{key:1,class:`action-item hover`,onClick:y(D,[`stop`])},[l(c,{size:`medium`},{default:u(()=>[C.value?r(``,!0):(p(),d(_(Se),{key:0})),C.value?(p(),d(_(De),{key:1,class:`show`})):r(``,!0)]),_:1}),x(`span`,jt,n(E.value>0?E.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(O,[`stop`])},[l(c,{size:`medium`},{default:u(()=>[w.value?r(``,!0):(p(),d(_(ve),{key:0})),w.value?(p(),d(_(Ee),{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=>k(!0)},` 回复 `)):r(``,!0),_(s)&&m.value?(p(),b(`span`,{key:5,class:`hide reply-btn`,onClick:a[1]||=e=>k(!1)},` 取消 `)):r(``,!0)])]),m.value?(p(),b(`div`,Nt,[l(j,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:A},{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(),E=ae(),{userInfo:D}=S(q()),O=t,k=e,A=h(()=>{let e=Object.assign({texts:[],imgs:[]},k.comment);return e.contents.map(t=>{(+t.type==1||+t.type==2)&&e.texts.push(t),+t.type==3&&e.imgs.push(t)}),e}),j=(e,t)=>{let n=e.target;if(n.dataset.detail){let e=n.dataset.detail.split(`:`);e.length===2&&(E.doRefresh(),e[0]===`tag`?window.$message.warning(`评论内的无效话题`):a.push({name:`user`,query:{s:e[1]}}))}},M=e=>{c.value=e.user_id,m.value=e.user?.username||``,w.value?.switchReply(!0)},N=()=>{O(`reload`)},P=()=>{c.value=0,m.value=``},I=()=>{Ge({id:A.value.id}).then(e=>{window.$message.success(`删除成功`),setTimeout(()=>{N()},50)}).catch(e=>{})},R=()=>{Re({id:A.value.id}).then(e=>{A.value.is_essence=e.highlight_status,window.$message.success(`操作成功`),setTimeout(()=>{N()},50)}).catch(e=>{})};return(t,a)=>{let h=B,v=o(`router-link`),S=F,C=T,E=W,O=L,k=nt,z=Pt,V=wt,H=te;return p(),b(`div`,Ft,[l(H,{"content-indented":``},f({avatar:u(()=>[l(h,{round:``,size:30,src:A.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:A.value.user.username}}},{default:u(()=>[i(n(A.value.user.nickname),1)]),_:1},8,[`to`])]),x(`span`,Lt,` @`+n(A.value.user.username),1),A.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(A.value.ip_loc),1),_(D).id===e.postUserId?(p(),d(O,{key:0,"negative-text":`取消`,"positive-text":`确认`,onPositiveClick:R},{trigger:u(()=>[l(E,{quaternary:``,circle:``,size:`tiny`,class:`action-btn`},{icon:u(()=>[A.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(A.value.is_essence==_(Q).NO?`是否精选这条评论`:`是否取消精选`),1)]),_:1})):r(``,!0),_(D).is_admin||_(D).id===A.value.user.id?(p(),d(O,{key:1,"negative-text":`取消`,"positive-text":`确认`,onPositiveClick:I},{trigger:u(()=>[l(E,{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(()=>[A.value.imgs.length>0?(p(),d(k,{key:0,imgs:A.value.imgs},null,8,[`imgs`])):r(``,!0),l(z,{ref_key:`replyComposeRef`,ref:w,comment:A.value,"at-userid":c.value,"at-username":m.value,onReload:N,onReset:P},null,8,[`comment`,`at-userid`,`at-username`]),x(`div`,Vt,[(p(!0),b(g,null,s(A.value.replies,e=>(p(),d(V,{key:e.id,reply:e,"tweet-id":A.value.post_id,onFocusReply:M,onReload:N},null,8,[`reply`,`tweet-id`]))),128))])]),_:2},[A.value.texts.length>0?{name:`description`,fn:u(()=>[(p(!0),b(g,null,s(A.value.texts,e=>(p(),b(`span`,{key:e.id,class:`comment-text`,onClick:a[1]||=y(e=>j(e,A.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(),E=v(`public/image`),D=v([]),O=v([]),k=v(!0),A=h(()=>`Bearer `+localStorage.getItem(Y)),j=(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),M=(e,t)=>{g.value||(g.value=!0,t===`@`&&j(e))},N=e=>{e.length>300?C.value=e.substring(0,300):C.value=e},P=e=>{E.value=e},F=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)}D.value=e},I=async e=>E.value===`public/image`&&![`image/png`,`image/jpg`,`image/jpeg`,`image/gif`].includes(e.file.file?.type)?(window.$message.warning(`图片仅允许 png/jpg/gif 格式`),!1):E.value===`image`&&e.file.file?.size>10485760?(window.$message.warning(`图片大小不能超过10MB`),!1):!0,L=({file:e,event:t})=>{try{let n=JSON.parse(t.target?.response);n.code===0&&E.value===`public/image`&&O.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=O.value.findIndex(t=>t.id===e.id);t>-1&&O.value.splice(t,1)},G=()=>{m.value=!0},te=()=>{m.value=!1,w.value?.clear(),D.value=[],C.value=``,O.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}),O.value.map(e=>{n++,t.push({content:e.content,type:3,sort:n})}),y.value=!0,qe({contents:t,post_id:o.postId,users:Array.from(new Set(e))}).then(e=>{window.$message.success(`发布成功`),y.value=!1,a(`post-success`),te()}).catch(e=>{y.value=!1})},J=e=>{s.triggerAuth(!0),s.triggerAuthKey(e)};return(e,t)=>{let a=B,s=re,h=T,v=W,S=z,O=R,j=K,ie=ee,q=U;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":N,onSearch:M,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:A.value},data:{type:E.value},"file-list":D.value,onBeforeUpload:I,onFinish:L,onError:V,onRemove:H,"onUpdate:fileList":F},{default:u(()=>[x(`div`,qt,[x(`div`,Jt,[l(S,{abstract:``},{default:u(({handleClick:e})=>[l(v,{disabled:D.value.length>0&&E.value===`public/video`||D.value.length===9,onClick:()=>{P(`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(j,{trigger:`hover`,placement:`bottom`},{trigger:u(()=>[l(O,{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:te},{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),k.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})])),k.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-45f7a3ea`]]),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:D}=S(m),M=C(),N=A(),P=v(!1),I=v(!1),L=e,R=v(!1),z=v(!1),V=v(!1),H=v(!1),U=v(!1),G=v(!1),K=v(Z.PUBLIC),ee=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,ee.value=!0},ie=()=>{ee.value=!1},J=t,Y=st(L.post,!0),X=e=>()=>c(T,null,{default:()=>c(e)}),_e=h(()=>{let e=[];if(!D.value.is_admin&&D.value.id!=L.post.user.id)return e.push({label:`私信 @`+L.post.user.username,key:`whisper`,icon:X(be)}),L.post.user.is_following?e.push({label:`取消关注 @`+L.post.user.username,key:`unfollow`,icon:X(me)}):e.push({label:`关注 @`+L.post.user.username,key:`follow`,icon:X(Te)}),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)}),D.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(Te)}]}:Y.value.visibility===Z.PRIVATE?{label:`私密`,key:`vprivate`,icon:X(ce),children:[{label:`公开`,key:`vpublic`,icon:X(pe)},{label:`关注可见`,key:`vfollowing`,icon:X(Te)}]}: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(Te)}]}:{label:`关注可见`,key:`vfollowing`,icon:X(Te),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(N,e.user.id,e.user.username,e.user.is_following).then(t=>{e.user.is_following=t})},xe=e=>{M.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`?M.push({name:`home`,query:{q:t[1],t:`tag`}}):M.push({name:`user`,query:{s:t[1]}});return}}xe(t)},Ee=e=>{switch(e){case`whisper`:re(L.post.user);break;case`follow`:case`unfollow`:ve(L.post);break;case`delete`:R.value=!0;break;case`lock`:case`unlock`:z.value=!0;break;case`stick`:case`unstick`:V.value=!0;break;case`highlight`:case`unhighlight`:H.value=!0;break;case`vpublic`:K.value=0,U.value=!0;break;case`vprivate`:K.value=1,U.value=!0;break;case`vfriend`:K.value=2,U.value=!0;break;case`vfollowing`:K.value=3,U.value=!0;break;default:break}},De=()=>{ze({id:Y.value.id}).then(e=>{window.$message.success(`删除成功`),M.replace(`/`),setTimeout(()=>{f.doRefresh()},50)}).catch(e=>{G.value=!1})},Ae=()=>{Fe({id:Y.value.id}).then(e=>{J(`reload`,Y.value.id),e.lock_status===1?window.$message.success(`锁定成功`):window.$message.success(`解锁成功`)}).catch(e=>{G.value=!1})},je=()=>{Me({id:Y.value.id}).then(e=>{J(`reload`,Y.value.id),e.top_status===1?window.$message.success(`置顶成功`):window.$message.success(`取消置顶成功`)}).catch(e=>{G.value=!1})},Pe=()=>{Ze({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=>{G.value=!1})},Re=()=>{Ne({id:Y.value.id,visibility:K.value}).then(e=>{J(`reload`,Y.value.id),window.$message.success(`修改可见性成功`)}).catch(e=>{G.value=!1})},Be=()=>{Ie({id:Y.value.id}).then(e=>{P.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)})},Ue=()=>{Xe({id:Y.value.id}).then(e=>{I.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)})},We=()=>{(0,tn.default)(`${window.location.origin}/#/post?id=${Y.value.id}&share=copy_link&t=${new Date().getTime()}`),window.$message.success(`链接已复制到剪贴板`)};return a(()=>{D.value.id>0&&(Le({id:Y.value.id}).then(e=>{P.value=e.status}).catch(e=>{console.log(e)}),Ve({id:Y.value.id}).then(e=>{I.value=e.status}).catch(e=>{console.log(e)}))}),(e,t)=>{let a=B,c=o(`router-link`),f=F,m=W,h=j,v=E,S=et,C=rt,D=nt,A=at,M=ot,N=k,L=O,G=te;return p(),b(`div`,{class:`detail-item`,onClick:t[7]||=e=>xe(_(Y).id)},[l(G,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:Ee},{default:u(()=>[l(m,{quaternary:``,circle:``},{icon:u(()=>[l(_(T),null,{default:u(()=>[l(_(we))]),_:1})]),_:1})]),_:1},8,[`options`])]),l(v,{show:R.value,"onUpdate:show":t[1]||=e=>R.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定删除该泡泡动态吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:De},null,8,[`show`]),l(v,{show:z.value,"onUpdate:show":t[2]||=e=>z.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:V.value,"onUpdate:show":t[3]||=e=>V.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:H.value,"onUpdate:show":t[4]||=e=>H.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定将该泡泡动态`+(_(Y).is_essence?`取消亮点`:`设为亮点`)+`吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:Pe},null,8,[`show`,`content`]),l(v,{show:U.value,"onUpdate:show":t[5]||=e=>U.value=e,"mask-closable":!1,preset:`dialog`,title:`提示`,content:`确定将该泡泡动态可见度修改为`+(K.value==0?`公开`:K.value==1?`私密`:K.value==2?`好友可见`:`关注可见`)+`吗?`,"positive-text":`确认`,"negative-text":`取消`,onPositiveClick:Re},null,8,[`show`,`content`]),l(S,{show:ee.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(D,{imgs:_(Y).imgs},null,8,[`imgs`]),l(A,{videos:_(Y).videos,full:!0},null,8,[`videos`]),l(M,{links:_(Y).links},null,8,[`links`]),x(`div`,sn,[i(` 发布于 `+n(_(He)(_(Y).created_on))+` `,1),_(Y).ip_loc?(p(),b(`span`,cn,[l(N,{vertical:``}),i(` `+n(_(Y).ip_loc),1)])):r(``,!0),!_(w)&&_(Y).created_on!=_(Y).latest_replied_on?(p(),b(`span`,ln,[l(N,{vertical:``}),i(` 最后回复 `+n(_(He)(_(Y).latest_replied_on)),1)])):r(``,!0)])]),action:u(()=>[x(`div`,un,[l(L,{justify:`space-between`},{default:u(()=>[x(`div`,{class:`opt-item hover`,onClick:y(Be,[`stop`])},[l(_(T),{size:`20`,class:`opt-item-icon`},{default:u(()=>[P.value?r(``,!0):(p(),d(_(fe),{key:0})),P.value?(p(),d(_(le),{key:1,color:`red`})):r(``,!0)]),_:1}),i(` `+n(_(Y).upvote_count),1)]),x(`div`,dn,[l(_(T),{size:`20`,class:`opt-item-icon`},{default:u(()=>[l(_(Ce))]),_:1}),i(` `+n(_(Y).comment_count),1)]),x(`div`,{class:`opt-item hover`,onClick:y(Ue,[`stop`])},[l(_(T),{size:`20`,class:`opt-item-icon`},{default:u(()=>[I.value?r(``,!0):(p(),d(_(ye),{key:0})),I.value?(p(),d(_(he),{key:1,color:`#ff7600`})):r(``,!0)]),_:1}),i(` `+n(_(Y).collection_count),1)]),x(`div`,{class:`opt-item hover`,onClick:y(We,[`stop`])},[l(_(T),{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),K(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,K(C)}).catch(e=>{i.value=!1})},k=1,A=v(!1),j=v([]),M=e=>{A.value||Be({id:n.value.id,style:`default`,page:k,page_size:$}).then(t=>{e!==null&&(C=e),t.list.length<$?A.value=!0:k++,t.list.length>0&&(k===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()})},F=1,L=v(!1),R=v([]),z=e=>{L.value||Be({id:n.value.id,style:`hots`,page:F,page_size:$}).then(t=>{e!==null&&(C=e),t.list.length<$?L.value=!0:F++,t.list.length>0&&(F===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,U=v(!1),W=v([]),G=e=>{U.value||Be({id:n.value.id,style:`newest`,page:B,page_size:$}).then(t=>{e!==null&&(C=e),t.list.length<$?U.value=!0:B++,t.list.length>0&&(B===1?W.value=t.list:W.value.push(...t.list),c.value=W.value),C.loaded(),o.value=!1}).catch(e=>{o.value=!1,C.error()})},K=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=W.value,G(e)),o.value=!1)},ee=()=>{k=1,A.value=!1,j.value=[],F=1,L.value=!1,R.value=[],B=1,U.value=!1,W.value=[],K(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=N,y=V,C=P,w=en,D=$e,k=Ht,j=O,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:ee},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(k,{comment:e,postUserId:n.value.user_id,onReload:ee},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:K},{spinner:u(()=>[S.value&&A.value?(p(),b(`span`,xn)):r(``,!0),!S.value&&_(L)?(p(),b(`span`,Sn)):r(``,!0),!S.value&&_(U)?(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&&!_(U)?(p(),b(`span`,En,`加载评论`)):r(``,!0)]),_:1})]),_:1})):r(``,!0)]),_:1})])}}}),[[`__scopeId`,`data-v-1d30990d`]]);export{Dn as default};