import{c as me,a as _e,f as j,e as q,d as A,u as ve,x as le,am as Ee,y as V,A as Re,h as U,ab as te,n as Le,J as ke,q as qe,t as we,L as be,K as X,B as Ve,N as He,an as Fe,ao as Ke,b as xe,ap as Je,r as k,p as We,aq as Ge,ar as Qe,as as Xe,at as Ye,w as Ce,W as d,Y as y,Z as h,au as Ze,a7 as P,a4 as o,a5 as u,a9 as R,av as et,_ as tt,al as se,$ as ce,aw as fe,aa as T,a6 as B,a3 as e,ax as st,af as re,ak as Ie,ay as ot,ac as ae,a8 as Q,az as nt,ae as ge,a0 as at,a2 as he,aA as it,ag as lt,aB as ze,aC as Se,aD as ct,aE as rt,aF as ut,aG as pt,aH as dt,aI as _t,aJ as mt,aK as vt,aL as ft,aM as gt,aN as ht,ah as Te,S as yt,aO as kt,aP as wt,ai as bt,aQ as xt,aR as Ct,aS as $t}from"./index-eae02f93.js";import{_ as Pt}from"./InputGroup-585cc965.js";import{f as ie}from"./formatTime-0c777b4d.js";import{p as ye,_ as Be,H as Rt,C as It,B as zt,S as St,a as Tt,b as Bt,c as Ut}from"./content-5125fd6e.js";import{_ as Ue}from"./Thing-fd33e8eb.js";import{_ as Ot}from"./post-skeleton-29cd9db3.js";import{l as Dt,I as Nt,_ as At,V as ee}from"./IEnum-564887f4.js";import{_ as Mt,a as jt,b as Et,c as Lt}from"./Upload-c3141dde.js";import{M as qt}from"./MoreHorizFilled-a690c6f0.js";import{_ as Vt}from"./main-nav.vue_vue_type_style_index_0_lang-2ea8aeac.js";import{_ as Ht}from"./List-b09cb39c.js";import{a as Ft,_ as Kt}from"./Skeleton-bc67cca6.js";const Jt=me("divider",` position: relative; display: flex; width: 100%; box-sizing: border-box; font-size: 16px; color: var(--n-text-color); transition: color .3s var(--n-bezier), background-color .3s var(--n-bezier); `,[_e("vertical",` margin-top: 24px; margin-bottom: 24px; `,[_e("no-title",` display: flex; align-items: center; `)]),j("title",` display: flex; align-items: center; margin-left: 12px; margin-right: 12px; white-space: nowrap; font-weight: var(--n-font-weight); `),q("title-position-left",[j("line",[q("left",{width:"28px"})])]),q("title-position-right",[j("line",[q("right",{width:"28px"})])]),q("dashed",[j("line",` background-color: #0000; height: 0px; width: 100%; border-style: dashed; border-width: 1px 0 0; `)]),q("vertical",` display: inline-block; height: 1em; margin: 0 8px; vertical-align: middle; width: 1px; `),j("line",` border: none; transition: background-color .3s var(--n-bezier), border-color .3s var(--n-bezier); height: 1px; width: 100%; margin: 0; `),_e("dashed",[j("line",{backgroundColor:"var(--n-color)"})]),q("dashed",[j("line",{borderColor:"var(--n-color)"})]),q("vertical",{backgroundColor:"var(--n-color)"})]),Wt=Object.assign(Object.assign({},le.props),{titlePlacement:{type:String,default:"center"},dashed:Boolean,vertical:Boolean}),Gt=A({name:"Divider",props:Wt,setup(n){const{mergedClsPrefixRef:i,inlineThemeDisabled:t}=ve(n),l=le("Divider","-divider",Jt,Ee,n,i),f=V(()=>{const{common:{cubicBezierEaseInOut:p},self:{color:r,textColor:c,fontWeight:w}}=l.value;return{"--n-bezier":p,"--n-color":r,"--n-text-color":c,"--n-font-weight":w}}),_=t?Re("divider",void 0,f,n):void 0;return{mergedClsPrefix:i,cssVars:t?void 0:f,themeClass:_==null?void 0:_.themeClass,onRender:_==null?void 0:_.onRender}},render(){var n;const{$slots:i,titlePlacement:t,vertical:l,dashed:f,cssVars:_,mergedClsPrefix:p}=this;return(n=this.onRender)===null||n===void 0||n.call(this),U("div",{role:"separator",class:[`${p}-divider`,this.themeClass,{[`${p}-divider--vertical`]:l,[`${p}-divider--no-title`]:!i.default,[`${p}-divider--dashed`]:f,[`${p}-divider--title-position-${t}`]:i.default&&t}],style:_},l?null:U("div",{class:`${p}-divider__line ${p}-divider__line--left`}),!l&&i.default?U(te,null,U("div",{class:`${p}-divider__title`},this.$slots),U("div",{class:`${p}-divider__line ${p}-divider__line--right`})):null)}}),Oe=Le("n-popconfirm"),De={positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},onPositiveClick:{type:Function,required:!0},onNegativeClick:{type:Function,required:!0}},$e=Ke(De),Qt=A({name:"NPopconfirmPanel",props:De,setup(n){const{localeRef:i}=ke("Popconfirm"),{inlineThemeDisabled:t}=ve(),{mergedClsPrefixRef:l,mergedThemeRef:f,props:_}=qe(Oe),p=V(()=>{const{common:{cubicBezierEaseInOut:c},self:{fontSize:w,iconSize:v,iconColor:m}}=f.value;return{"--n-bezier":c,"--n-font-size":w,"--n-icon-size":v,"--n-icon-color":m}}),r=t?Re("popconfirm-panel",void 0,p,_):void 0;return Object.assign(Object.assign({},ke("Popconfirm")),{mergedClsPrefix:l,cssVars:t?void 0:p,localizedPositiveText:V(()=>n.positiveText||i.value.positiveText),localizedNegativeText:V(()=>n.negativeText||i.value.negativeText),positiveButtonProps:we(_,"positiveButtonProps"),negativeButtonProps:we(_,"negativeButtonProps"),handlePositiveClick(c){n.onPositiveClick(c)},handleNegativeClick(c){n.onNegativeClick(c)},themeClass:r==null?void 0:r.themeClass,onRender:r==null?void 0:r.onRender})},render(){var n;const{mergedClsPrefix:i,showIcon:t,$slots:l}=this,f=be(l.action,()=>this.negativeText===null&&this.positiveText===null?[]:[this.negativeText!==null&&U(X,Object.assign({size:"small",onClick:this.handleNegativeClick},this.negativeButtonProps),{default:()=>this.localizedNegativeText}),this.positiveText!==null&&U(X,Object.assign({size:"small",type:"primary",onClick:this.handlePositiveClick},this.positiveButtonProps),{default:()=>this.localizedPositiveText})]);return(n=this.onRender)===null||n===void 0||n.call(this),U("div",{class:[`${i}-popconfirm__panel`,this.themeClass],style:this.cssVars},Ve(l.default,_=>t||_?U("div",{class:`${i}-popconfirm__body`},t?U("div",{class:`${i}-popconfirm__icon`},be(l.icon,()=>[U(He,{clsPrefix:i},{default:()=>U(Fe,null)})])):null,_):null),f?U("div",{class:[`${i}-popconfirm__action`]},f):null)}}),Xt=me("popconfirm",[j("body",` font-size: var(--n-font-size); display: flex; align-items: center; flex-wrap: nowrap; position: relative; `,[j("icon",` display: flex; font-size: var(--n-icon-size); color: var(--n-icon-color); transition: color .3s var(--n-bezier); margin: 0 8px 0 0; `)]),j("action",` display: flex; justify-content: flex-end; `,[xe("&:not(:first-child)","margin-top: 8px"),me("button",[xe("&:not(:last-child)","margin-right: 8px;")])])]),Yt=Object.assign(Object.assign(Object.assign({},le.props),Ye),{positiveText:String,negativeText:String,showIcon:{type:Boolean,default:!0},trigger:{type:String,default:"click"},positiveButtonProps:Object,negativeButtonProps:Object,onPositiveClick:Function,onNegativeClick:Function}),Ne=A({name:"Popconfirm",props:Yt,__popover__:!0,setup(n){const{mergedClsPrefixRef:i}=ve(),t=le("Popconfirm","-popconfirm",Xt,Je,n,i),l=k(null);function f(r){const{onPositiveClick:c,"onUpdate:show":w}=n;Promise.resolve(c?c(r):!0).then(v=>{var m;v!==!1&&((m=l.value)===null||m===void 0||m.setShow(!1),w&&Ce(w,!1))})}function _(r){const{onNegativeClick:c,"onUpdate:show":w}=n;Promise.resolve(c?c(r):!0).then(v=>{var m;v!==!1&&((m=l.value)===null||m===void 0||m.setShow(!1),w&&Ce(w,!1))})}return We(Oe,{mergedThemeRef:t,mergedClsPrefixRef:i,props:n}),Object.assign(Object.assign({},{setShow(r){var c;(c=l.value)===null||c===void 0||c.setShow(r)},syncPosition(){var r;(r=l.value)===null||r===void 0||r.syncPosition()}}),{mergedTheme:t,popoverInstRef:l,handlePositiveClick:f,handleNegativeClick:_})},render(){const{$slots:n,$props:i,mergedTheme:t}=this;return U(Xe,Qe(i,$e,{theme:t.peers.Popover,themeOverrides:t.peerOverrides.Popover,internalExtraClass:["popconfirm"],ref:"popoverInstRef"}),{trigger:n.activator||n.trigger,default:()=>{const l=Ge(i,$e);return U(Qt,Object.assign(Object.assign({},l),{onPositiveClick:this.handlePositiveClick,onNegativeClick:this.handleNegativeClick}),n)}})}}),Zt={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},es=h("path",{d:"M400 480a16 16 0 0 1-10.63-4L256 357.41L122.63 476A16 16 0 0 1 96 464V96a64.07 64.07 0 0 1 64-64h192a64.07 64.07 0 0 1 64 64v368a16 16 0 0 1-16 16z",fill:"currentColor"},null,-1),ts=[es],ss=A({name:"Bookmark",render:function(i,t){return d(),y("svg",Zt,ts)}}),os={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 512 512"},ns=h("path",{d:"M256 448a32 32 0 0 1-18-5.57c-78.59-53.35-112.62-89.93-131.39-112.8c-40-48.75-59.15-98.8-58.61-153C48.63 114.52 98.46 64 159.08 64c44.08 0 74.61 24.83 92.39 45.51a6 6 0 0 0 9.06 0C278.31 88.81 308.84 64 352.92 64c60.62 0 110.45 50.52 111.08 112.64c.54 54.21-18.63 104.26-58.61 153c-18.77 22.87-52.8 59.45-131.39 112.8a32 32 0 0 1-18 5.56z",fill:"currentColor"},null,-1),as=[ns],is=A({name:"Heart",render:function(i,t){return d(),y("svg",os,as)}}),ls={xmlns:"http://www.w3.org/2000/svg","xmlns:xlink":"http://www.w3.org/1999/xlink",viewBox:"0 0 24 24"},cs=Ze('',1),rs=[cs],Ae=A({name:"Trash",render:function(i,t){return d(),y("svg",ls,rs)}}),us={class:"reply-compose-wrap"},ps={class:"reply-switch"},ds={key:0,class:"reply-input-wrap"},_s=A({__name:"compose-reply",props:{commentId:{default:0},atUserid:{default:0},atUsername:{default:""}},emits:["reload","reset"],setup(n,{expose:i,emit:t}){const l=n,f=k(),_=k(!1),p=k(""),r=k(!1),c=v=>{_.value=v,v?setTimeout(()=>{var m;(m=f.value)==null||m.focus()},10):(r.value=!1,p.value="",t("reset"))},w=()=>{r.value=!0,et({comment_id:l.commentId,at_user_id:l.atUserid,content:p.value}).then(v=>{c(!1),window.$message.success("评论成功"),t("reload")}).catch(v=>{r.value=!1})};return i({switchReply:c}),(v,m)=>{const I=tt,a=X,z=Pt;return d(),y("div",us,[h("div",ps,[_.value?P("",!0):(d(),y("span",{key:0,class:"show",onClick:m[0]||(m[0]=C=>c(!0))}," 回复 ")),_.value?(d(),y("span",{key:1,class:"hide",onClick:m[1]||(m[1]=C=>c(!1))}," 取消 ")):P("",!0)]),_.value?(d(),y("div",ds,[o(z,null,{default:u(()=>[o(I,{ref_key:"inputInstRef",ref:f,size:"small",placeholder:l.atUsername?"@"+l.atUsername:"请输入回复内容..",maxlength:"100",value:p.value,"onUpdate:value":m[2]||(m[2]=C=>p.value=C),"show-count":"",clearable:""},null,8,["placeholder","value"]),o(a,{type:"primary",size:"small",ghost:"",loading:r.value,onClick:w},{default:u(()=>[R(" 回复 ")]),_:1},8,["loading"])]),_:1})])):P("",!0)])}}});const ms=se(_s,[["__scopeId","data-v-89bc7a6d"]]),vs={class:"reply-item"},fs={class:"header-wrap"},gs={class:"username"},hs={class:"reply-name"},ys={class:"timestamp"},ks={class:"base-wrap"},ws={class:"content"},bs={key:0,class:"reply-switch"},xs=A({__name:"reply-item",props:{reply:null},emits:["focusReply","reload"],setup(n,{emit:i}){const t=n,l=ce(),f=()=>{i("focusReply",t.reply)},_=()=>{st({id:t.reply.id}).then(p=>{window.$message.success("删除成功"),setTimeout(()=>{i("reload")},50)}).catch(p=>{console.log(p)})};return(p,r)=>{const c=fe("router-link"),w=re,v=X,m=Ne;return d(),y("div",vs,[h("div",fs,[h("div",gs,[o(c,{class:"user-link",to:{name:"user",query:{username:t.reply.user.username}}},{default:u(()=>[R(T(t.reply.user.username),1)]),_:1},8,["to"]),h("span",hs,T(t.reply.at_user_id>0?"回复":":"),1),t.reply.at_user_id>0?(d(),B(c,{key:0,class:"user-link",to:{name:"user",query:{username:t.reply.at_user.username}}},{default:u(()=>[R(T(t.reply.at_user.username),1)]),_:1},8,["to"])):P("",!0)]),h("div",ys,[R(T(t.reply.ip_loc?t.reply.ip_loc+" · ":t.reply.ip_loc)+" "+T(e(ie)(t.reply.created_on,e(l).state.collapsedLeft))+" ",1),e(l).state.userInfo.is_admin||e(l).state.userInfo.id===t.reply.user.id?(d(),B(m,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:_},{trigger:u(()=>[o(v,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:u(()=>[o(w,null,{default:u(()=>[o(e(Ae))]),_:1})]),_:1})]),default:u(()=>[R(" 是否确认删除? ")]),_:1})):P("",!0)])]),h("div",ks,[h("div",ws,T(t.reply.content),1),e(l).state.userInfo.id>0?(d(),y("div",bs,[h("span",{class:"show",onClick:f}," 回复 ")])):P("",!0)])])}}});const Cs=se(xs,[["__scopeId","data-v-c486479f"]]),$s={class:"comment-item"},Ps={class:"nickname-wrap"},Rs={class:"username-wrap"},Is={class:"opt-wrap"},zs={class:"timestamp"},Ss=["innerHTML"],Ts={class:"reply-wrap"},Bs=A({__name:"comment-item",props:{comment:null},emits:["reload"],setup(n,{emit:i}){const t=n,l=ce(),f=Ie(),_=k(0),p=k(""),r=k(),c=V(()=>{let z=Object.assign({texts:[],imgs:[]},t.comment);return z.contents.map(C=>{(+C.type==1||+C.type==2)&&z.texts.push(C),+C.type==3&&z.imgs.push(C)}),z}),w=(z,C)=>{let O=z.target;if(O.dataset.detail){const D=O.dataset.detail.split(":");D.length===2&&(l.commit("refresh"),D[0]==="tag"?window.$message.warning("评论内的无效话题"):f.push({name:"user",query:{username:D[1]}}))}},v=z=>{var C,O;_.value=z.user_id,p.value=((C=z.user)==null?void 0:C.username)||"",(O=r.value)==null||O.switchReply(!0)},m=()=>{i("reload")},I=()=>{_.value=0,p.value=""},a=()=>{nt({id:c.value.id}).then(z=>{window.$message.success("删除成功"),setTimeout(()=>{m()},50)}).catch(z=>{})};return(z,C)=>{const O=ge,D=fe("router-link"),L=re,H=X,F=Ne,K=Be,J=Cs,W=ms,G=Ue;return d(),y("div",$s,[o(G,{"content-indented":""},ot({avatar:u(()=>[o(O,{round:"",size:30,src:e(c).user.avatar},null,8,["src"])]),header:u(()=>[h("span",Ps,[o(D,{onClick:C[0]||(C[0]=Q(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(c).user.username}}},{default:u(()=>[R(T(e(c).user.nickname),1)]),_:1},8,["to"])]),h("span",Rs," @"+T(e(c).user.username),1)]),"header-extra":u(()=>[h("div",Is,[h("span",zs,T(e(c).ip_loc?e(c).ip_loc+" · ":e(c).ip_loc)+" "+T(e(ie)(e(c).created_on,e(l).state.collapsedLeft)),1),e(l).state.userInfo.is_admin||e(l).state.userInfo.id===e(c).user.id?(d(),B(F,{key:0,"negative-text":"取消","positive-text":"确认",onPositiveClick:a},{trigger:u(()=>[o(H,{quaternary:"",circle:"",size:"tiny",class:"del-btn"},{icon:u(()=>[o(L,null,{default:u(()=>[o(e(Ae))]),_:1})]),_:1})]),default:u(()=>[R(" 是否确认删除? ")]),_:1})):P("",!0)])]),footer:u(()=>[e(c).imgs.length>0?(d(),B(K,{key:0,imgs:e(c).imgs},null,8,["imgs"])):P("",!0),h("div",Ts,[(d(!0),y(te,null,ae(e(c).replies,s=>(d(),B(J,{key:s.id,reply:s,onFocusReply:v,onReload:m},null,8,["reply"]))),128))]),e(l).state.userInfo.id>0?(d(),B(W,{key:1,ref_key:"replyComposeRef",ref:r,"comment-id":e(c).id,"at-userid":_.value,"at-username":p.value,onReload:m,onReset:I},null,8,["comment-id","at-userid","at-username"])):P("",!0)]),_:2},[e(c).texts.length>0?{name:"description",fn:u(()=>[(d(!0),y(te,null,ae(e(c).texts,s=>(d(),y("span",{key:s.id,class:"comment-text",onClick:C[1]||(C[1]=Q(g=>w(g,e(c).id),["stop"])),innerHTML:e(ye)(s.content).content},null,8,Ss))),128))]),key:"0"}:void 0]),1024)])}}});const Us=se(Bs,[["__scopeId","data-v-02db83b3"]]),Os=n=>(ze("data-v-20c23f95"),n=n(),Se(),n),Ds={key:0,class:"compose-wrap"},Ns={class:"compose-line"},As={class:"compose-user"},Ms={class:"compose-line compose-options"},js={class:"attachment"},Es={class:"submit-wrap"},Ls={class:"attachment-list-wrap"},qs={key:1,class:"compose-wrap"},Vs=Os(()=>h("div",{class:"login-wrap"},[h("span",{class:"login-banner"}," 登录后,精彩更多")],-1)),Hs={class:"login-wrap"},Fs=A({__name:"compose-comment",props:{lock:{default:0},postId:{default:0}},emits:["post-success"],setup(n,{emit:i}){const t=n,l=ce(),f=k([]),_=k(!1),p=k(!1),r=k(!1),c=k(""),w=k(),v=k("public/image"),m=k([]),I=k([]),a="/v1/attachment",z=k(),C=Dt.debounce(b=>{at({k:b}).then(x=>{let $=[];x.suggest.map(S=>{$.push({label:S,value:S})}),f.value=$,p.value=!1}).catch(x=>{p.value=!1})},200),O=(b,x)=>{p.value||(p.value=!0,x==="@"&&C(b))},D=b=>{b.length>200||(c.value=b)},L=b=>{v.value=b},H=b=>{m.value=b},F=async b=>{var x,$;return v.value==="public/image"&&!["image/png","image/jpg","image/jpeg","image/gif"].includes((x=b.file.file)==null?void 0:x.type)?(window.$message.warning("图片仅允许 png/jpg/gif 格式"),!1):v.value==="image"&&(($=b.file.file)==null?void 0:$.size)>10485760?(window.$message.warning("图片大小不能超过10MB"),!1):!0},K=({file:b,event:x})=>{var $;try{let S=JSON.parse(($=x.target)==null?void 0:$.response);S.code===0&&v.value==="public/image"&&I.value.push({id:b.id,content:S.data.content})}catch{window.$message.error("上传失败")}},J=({file:b,event:x})=>{var $;try{let S=JSON.parse(($=x.target)==null?void 0:$.response);if(S.code!==0){let Y=S.msg||"上传失败";S.details&&S.details.length>0&&S.details.map(N=>{Y+=":"+N}),window.$message.error(Y)}}catch{window.$message.error("上传失败")}},W=({file:b})=>{let x=I.value.findIndex($=>$.id===b.id);x>-1&&I.value.splice(x,1)},G=()=>{_.value=!0},s=()=>{var b;_.value=!1,(b=w.value)==null||b.clear(),m.value=[],c.value="",I.value=[]},g=()=>{if(c.value.trim().length===0){window.$message.warning("请输入内容哦");return}let{users:b}=ye(c.value);const x=[];let $=100;x.push({content:c.value,type:2,sort:$}),I.value.map(S=>{$++,x.push({content:S.content,type:3,sort:$})}),r.value=!0,it({contents:x,post_id:t.postId,users:Array.from(new Set(b))}).then(S=>{window.$message.success("发布成功"),r.value=!1,i("post-success"),s()}).catch(S=>{r.value=!1})},E=b=>{l.commit("triggerAuth",!0),l.commit("triggerAuthKey",b)};return he(()=>{z.value="Bearer "+localStorage.getItem("PAOPAO_TOKEN")}),(b,x)=>{const $=ge,S=At,Y=re,N=X,oe=Mt,ue=jt,pe=lt,de=Et,ne=Lt;return d(),y("div",null,[e(l).state.userInfo.id>0?(d(),y("div",Ds,[h("div",Ns,[h("div",As,[o($,{round:"",size:30,src:e(l).state.userInfo.avatar},null,8,["src"])]),o(S,{type:"textarea",size:"large",autosize:"",bordered:!1,options:f.value,prefix:["@"],loading:p.value,value:c.value,disabled:t.lock===1,"onUpdate:value":D,onSearch:O,onFocus:G,placeholder:t.lock===1?"泡泡已被锁定,回复功能已关闭":"快来评论两句吧..."},null,8,["options","loading","value","disabled","placeholder"])]),_.value?(d(),B(ne,{key:0,ref_key:"uploadRef",ref:w,abstract:"","list-type":"image",multiple:!0,max:9,action:a,headers:{Authorization:z.value},data:{type:v.value},onBeforeUpload:F,onFinish:K,onError:J,onRemove:W,"onUpdate:fileList":H},{default:u(()=>[h("div",Ms,[h("div",js,[o(oe,{abstract:""},{default:u(({handleClick:Z})=>[o(N,{disabled:m.value.length>0&&v.value==="public/video"||m.value.length===9,onClick:()=>{L("public/image"),Z()},quaternary:"",circle:"",type:"primary"},{icon:u(()=>[o(Y,{size:"20",color:"var(--primary-color)"},{default:u(()=>[o(e(Nt))]),_:1})]),_:2},1032,["disabled","onClick"])]),_:1}),o(pe,{trigger:"hover",placement:"bottom"},{trigger:u(()=>[o(ue,{class:"text-statistic",type:"circle","show-indicator":!1,status:"success","stroke-width":10,percentage:c.value.length/200*100},null,8,["percentage"])]),default:u(()=>[R(" "+T(c.value.length)+" / 200 ",1)]),_:1})]),h("div",Es,[o(N,{quaternary:"",round:"",type:"tertiary",class:"cancel-btn",size:"small",onClick:s},{default:u(()=>[R(" 取消 ")]),_:1}),o(N,{loading:r.value,onClick:g,type:"primary",secondary:"",size:"small",round:""},{default:u(()=>[R(" 发布 ")]),_:1},8,["loading"])])]),h("div",Ls,[o(de)])]),_:1},8,["headers","data"])):P("",!0)])):(d(),y("div",qs,[Vs,h("div",Hs,[o(N,{strong:"",secondary:"",round:"",type:"primary",onClick:x[0]||(x[0]=Z=>E("signin"))},{default:u(()=>[R(" 登录 ")]),_:1}),o(N,{strong:"",secondary:"",round:"",type:"info",onClick:x[1]||(x[1]=Z=>E("signup"))},{default:u(()=>[R(" 注册 ")]),_:1})])]))])}}});const Ks=se(Fs,[["__scopeId","data-v-20c23f95"]]);var Js=function(){var n=document.getSelection();if(!n.rangeCount)return function(){};for(var i=document.activeElement,t=[],l=0;l"u"){t&&console.warn("unable to use e.clipboardData"),t&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var m=Pe[i.format]||Pe.default;window.clipboardData.setData(m,n)}else v.clipboardData.clearData(),v.clipboardData.setData(i.format,n);i.onCopy&&(v.preventDefault(),i.onCopy(v.clipboardData))}),document.body.appendChild(r),_.selectNodeContents(r),p.addRange(_);var w=document.execCommand("copy");if(!w)throw new Error("copy command was unsuccessful");c=!0}catch(v){t&&console.error("unable to copy using execCommand: ",v),t&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(i.format||"text",n),i.onCopy&&i.onCopy(window.clipboardData),c=!0}catch(m){t&&console.error("unable to copy using clipboardData: ",m),t&&console.error("falling back to prompt"),l=Qs("message"in i?i.message:Gs),window.prompt(l,n)}}finally{p&&(typeof p.removeRange=="function"?p.removeRange(_):p.removeAllRanges()),r&&document.body.removeChild(r),f()}return c}var Ys=Xs;const Zs={class:"username-wrap"},eo={key:0,class:"options"},to={key:0},so=["innerHTML"],oo={class:"timestamp"},no={key:0},ao={key:1},io={class:"opts-wrap"},lo=["onClick"],co={class:"opt-item"},ro=["onClick"],uo=["onClick"],po=A({__name:"post-detail",props:{post:null},emits:["reload"],setup(n,{emit:i}){const t=n,l=ce(),f=Ie(),_=k(!1),p=k(!1),r=k(!1),c=k(!1),w=k(!1),v=k(!1),m=k(!1),I=k(ee.PUBLIC),a=V({get:()=>{let s=Object.assign({texts:[],imgs:[],videos:[],links:[],attachments:[],charge_attachments:[]},t.post);return s.contents.map(g=>{(+g.type==1||+g.type==2)&&s.texts.push(g),+g.type==3&&s.imgs.push(g),+g.type==4&&s.videos.push(g),+g.type==6&&s.links.push(g),+g.type==7&&s.attachments.push(g),+g.type==8&&s.charge_attachments.push(g)}),s},set:s=>{t.post.upvote_count=s.upvote_count,t.post.comment_count=s.comment_count,t.post.collection_count=s.collection_count}}),z=V(()=>{let s=[{label:"删除",key:"delete"}];return a.value.is_lock===0?s.push({label:"锁定",key:"lock"}):s.push({label:"解锁",key:"unlock"}),l.state.userInfo.is_admin&&(a.value.is_top===0?s.push({label:"置顶",key:"stick"}):s.push({label:"取消置顶",key:"unstick"})),a.value.visibility===ee.PUBLIC?s.push({label:"公开",key:"vpublic",children:[{label:"私密",key:"vprivate"},{label:"好友可见",key:"vfriend"}]}):a.value.visibility===ee.PRIVATE?s.push({label:"私密",key:"vprivate",children:[{label:"公开",key:"vpublic"},{label:"好友可见",key:"vfriend"}]}):s.push({label:"好友可见",key:"vfriend",children:[{label:"公开",key:"vpublic"},{label:"私密",key:"vprivate"}]}),s}),C=s=>{f.push({name:"post",query:{id:s}})},O=(s,g)=>{if(s.target.dataset.detail){const E=s.target.dataset.detail.split(":");if(E.length===2){l.commit("refresh"),E[0]==="tag"?f.push({name:"home",query:{q:E[1],t:"tag"}}):f.push({name:"user",query:{username:E[1]}});return}}C(g)},D=s=>{switch(s){case"delete":r.value=!0;break;case"lock":case"unlock":c.value=!0;break;case"stick":case"unstick":w.value=!0;break;case"vpublic":I.value=0,v.value=!0;break;case"vprivate":I.value=1,v.value=!0;break;case"vfriend":I.value=2,v.value=!0;break}},L=()=>{ut({id:a.value.id}).then(s=>{window.$message.success("删除成功"),f.replace("/"),setTimeout(()=>{l.commit("refresh")},50)}).catch(s=>{m.value=!1})},H=()=>{pt({id:a.value.id}).then(s=>{i("reload"),s.lock_status===1?window.$message.success("锁定成功"):window.$message.success("解锁成功")}).catch(s=>{m.value=!1})},F=()=>{dt({id:a.value.id}).then(s=>{i("reload"),s.top_status===1?window.$message.success("置顶成功"):window.$message.success("取消置顶成功")}).catch(s=>{m.value=!1})},K=()=>{_t({id:a.value.id,visibility:I.value}).then(s=>{i("reload"),window.$message.success("修改可见性成功")}).catch(s=>{m.value=!1})},J=()=>{mt({id:a.value.id}).then(s=>{_.value=s.status,s.status?a.value={...a.value,upvote_count:a.value.upvote_count+1}:a.value={...a.value,upvote_count:a.value.upvote_count-1}}).catch(s=>{console.log(s)})},W=()=>{vt({id:a.value.id}).then(s=>{p.value=s.status,s.status?a.value={...a.value,collection_count:a.value.collection_count+1}:a.value={...a.value,collection_count:a.value.collection_count-1}}).catch(s=>{console.log(s)})},G=()=>{Ys(`${window.location.origin}/#/post?id=${a.value.id}`),window.$message.success("链接已复制到剪贴板")};return he(()=>{l.state.userInfo.id>0&&(ct({id:a.value.id}).then(s=>{_.value=s.status}).catch(s=>{console.log(s)}),rt({id:a.value.id}).then(s=>{p.value=s.status}).catch(s=>{console.log(s)}))}),(s,g)=>{const E=ge,b=fe("router-link"),x=ft,$=re,S=X,Y=gt,N=ht,oe=Tt,ue=Be,pe=Bt,de=Ut,ne=Gt,Z=Te,Me=Ue;return d(),y("div",{class:"detail-item",onClick:g[6]||(g[6]=M=>C(e(a).id))},[o(Me,null,{avatar:u(()=>[o(E,{round:"",size:30,src:e(a).user.avatar},null,8,["src"])]),header:u(()=>[o(b,{onClick:g[0]||(g[0]=Q(()=>{},["stop"])),class:"username-link",to:{name:"user",query:{username:e(a).user.username}}},{default:u(()=>[R(T(e(a).user.nickname),1)]),_:1},8,["to"]),h("span",Zs," @"+T(e(a).user.username),1),e(a).is_top?(d(),B(x,{key:0,class:"top-tag",type:"warning",size:"small",round:""},{default:u(()=>[R(" 置顶 ")]),_:1})):P("",!0),e(a).visibility==e(ee).PRIVATE?(d(),B(x,{key:1,class:"top-tag",type:"error",size:"small",round:""},{default:u(()=>[R(" 私密 ")]),_:1})):P("",!0),e(a).visibility==e(ee).FRIEND?(d(),B(x,{key:2,class:"top-tag",type:"info",size:"small",round:""},{default:u(()=>[R(" 好友可见 ")]),_:1})):P("",!0)]),"header-extra":u(()=>[e(l).state.userInfo.is_admin||e(l).state.userInfo.id===e(a).user.id?(d(),y("div",eo,[o(Y,{placement:"bottom-end",trigger:"click",size:"small",options:e(z),onSelect:D},{default:u(()=>[o(S,{quaternary:"",circle:""},{icon:u(()=>[o($,null,{default:u(()=>[o(e(qt))]),_:1})]),_:1})]),_:1},8,["options"])])):P("",!0),o(N,{show:r.value,"onUpdate:show":g[1]||(g[1]=M=>r.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定删除该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:L},null,8,["show"]),o(N,{show:c.value,"onUpdate:show":g[2]||(g[2]=M=>c.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(a).is_lock?"解锁":"锁定")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:H},null,8,["show","content"]),o(N,{show:w.value,"onUpdate:show":g[3]||(g[3]=M=>w.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定"+(e(a).is_top?"取消置顶":"置顶")+"该泡泡动态吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:F},null,8,["show","content"]),o(N,{show:v.value,"onUpdate:show":g[4]||(g[4]=M=>v.value=M),"mask-closable":!1,preset:"dialog",title:"提示",content:"确定将该泡泡动态可见度修改为"+(I.value==0?"公开":I.value==1?"私密":"好友可见")+"吗?","positive-text":"确认","negative-text":"取消",onPositiveClick:K},null,8,["show","content"])]),footer:u(()=>[o(oe,{attachments:e(a).attachments},null,8,["attachments"]),o(oe,{attachments:e(a).charge_attachments,price:e(a).attachment_price},null,8,["attachments","price"]),o(ue,{imgs:e(a).imgs},null,8,["imgs"]),o(pe,{videos:e(a).videos,full:!0},null,8,["videos"]),o(de,{links:e(a).links},null,8,["links"]),h("div",oo,[R(" 发布于 "+T(e(ie)(e(a).created_on,e(l).state.collapsedLeft))+" ",1),e(a).ip_loc?(d(),y("span",no,[o(ne,{vertical:""}),R(" "+T(e(a).ip_loc),1)])):P("",!0),!e(l).state.collapsedLeft&&e(a).created_on!=e(a).latest_replied_on?(d(),y("span",ao,[o(ne,{vertical:""}),R(" 最后回复 "+T(e(ie)(e(a).latest_replied_on,e(l).state.collapsedLeft)),1)])):P("",!0)])]),action:u(()=>[h("div",io,[o(Z,{justify:"space-between"},{default:u(()=>[h("div",{class:"opt-item hover",onClick:Q(J,["stop"])},[o($,{size:"20",class:"opt-item-icon"},{default:u(()=>[_.value?P("",!0):(d(),B(e(Rt),{key:0})),_.value?(d(),B(e(is),{key:1,color:"red"})):P("",!0)]),_:1}),R(" "+T(e(a).upvote_count),1)],8,lo),h("div",co,[o($,{size:"20",class:"opt-item-icon"},{default:u(()=>[o(e(It))]),_:1}),R(" "+T(e(a).comment_count),1)]),h("div",{class:"opt-item hover",onClick:Q(W,["stop"])},[o($,{size:"20",class:"opt-item-icon"},{default:u(()=>[p.value?P("",!0):(d(),B(e(zt),{key:0})),p.value?(d(),B(e(ss),{key:1,color:"#ff7600"})):P("",!0)]),_:1}),R(" "+T(e(a).collection_count),1)],8,ro),h("div",{class:"opt-item hover",onClick:Q(G,["stop"])},[o($,{size:"20",class:"opt-item-icon"},{default:u(()=>[o(e(St))]),_:1}),R(" "+T(e(a).share_count),1)],8,uo)]),_:1})])]),default:u(()=>[e(a).texts.length>0?(d(),y("div",to,[(d(!0),y(te,null,ae(e(a).texts,M=>(d(),y("span",{key:M.id,class:"post-text",onClick:g[5]||(g[5]=Q(je=>O(je,e(a).id),["stop"])),innerHTML:e(ye)(M.content).content},null,8,so))),128))])):P("",!0)]),_:1})])}}});const _o=n=>(ze("data-v-c8247a20"),n=n(),Se(),n),mo={key:0,class:"detail-wrap"},vo={key:1,class:"empty-wrap"},fo={key:0,class:"comment-opts-wrap"},go=_o(()=>h("div",{class:"comment-title-item"},[h("span",{"comment-title-item":""},"评论")],-1)),ho={class:"comment-opt-item"},yo={key:2},ko={key:0,class:"skeleton-wrap"},wo={key:1},bo={key:0,class:"empty-wrap"},xo=A({__name:"Post",setup(n){const i=bt(),t=k({}),l=k(!1),f=k(!1),_=k([]),p=V(()=>+i.query.id),r=k("default"),c=m=>{r.value=m,v()},w=()=>{t.value={id:0},l.value=!0,kt({id:p.value}).then(m=>{l.value=!1,t.value=m,v()}).catch(m=>{l.value=!1})},v=(m=!1)=>{_.value.length===0&&(f.value=!0),wt({id:t.value.id,sort_strategy:r.value}).then(I=>{_.value=I.list,f.value=!1,m&&setTimeout(()=>{window.scrollTo(0,99999)},50)}).catch(I=>{f.value=!1})};return he(()=>{w()}),yt(p,()=>{p.value>0&&i.name==="post"&&w()}),(m,I)=>{const a=Vt,z=po,C=Ft,O=xt,D=Kt,L=Ct,H=$t,F=Te,K=Ks,J=Ot,W=Us,G=Ht;return d(),y("div",null,[o(a,{title:"泡泡详情",back:!0}),o(G,{class:"main-content-wrap",bordered:""},{default:u(()=>[o(D,null,{default:u(()=>[o(O,{show:l.value},{default:u(()=>[t.value.id>1?(d(),y("div",mo,[o(z,{post:t.value,onReload:w},null,8,["post"])])):(d(),y("div",vo,[o(C,{size:"large",description:"暂无数据"})]))]),_:1},8,["show"])]),_:1}),t.value.id>0?(d(),y("div",fo,[o(F,{justify:"space-between"},{default:u(()=>[go,h("div",ho,[o(H,{type:"bar",size:"small",animated:"","onUpdate:value":c},{default:u(()=>[o(L,{name:"default",tab:"默认"}),o(L,{name:"newest",tab:"最新"})]),_:1})])]),_:1})])):P("",!0),t.value.id>0?(d(),B(D,{key:1},{default:u(()=>[o(K,{lock:t.value.is_lock,"post-id":t.value.id,onPostSuccess:I[0]||(I[0]=s=>v(!0))},null,8,["lock","post-id"])]),_:1})):P("",!0),t.value.id>0?(d(),y("div",yo,[f.value?(d(),y("div",ko,[o(J,{num:5})])):(d(),y("div",wo,[_.value.length===0?(d(),y("div",bo,[o(C,{size:"large",description:"暂无评论,快来抢沙发"})])):P("",!0),(d(!0),y(te,null,ae(_.value,s=>(d(),B(D,{key:s.id},{default:u(()=>[o(W,{comment:s,onReload:v},null,8,["comment"])]),_:2},1024))),128))]))])):P("",!0)]),_:1})])}}});const No=se(xo,[["__scopeId","data-v-c8247a20"]]);export{No as default};