1import{d as j,c as p,f as n,q as l,s as S,x as G,u as K,D as O,r as i,G as Q,H as W,i as s,a as X,g as c,J as Z,t as a,l as y,K as ee,b as u,k as b,_ as h,e as N,F as $,I as te,j as oe,h as se,p as ae}from"./index-BDt9-qUU.js";import{b as V}from"./blogService-Bqp0JAtu.js";import{r as le}from"./markdown-8iLyE9yO.js";import"./purify.es-DdwdxIb1.js";const ne=["innerHTML"],re=j({__name:"MarkdownView",props:{source:{}},setup(C){const k=C,d=p(()=>le(k.source));return(f,M)=>(l(),n("div",{class:"markdown-view",innerHTML:d.value},null,8,ne))}}),ie=S(re,[["__scopeId","data-v-e680f9cc"]]),ce={key:0,class:"article-page__loading"},ue={key:1,class:"article-page__empty"},de={class:"muted"},ve={key:2,class:"article"},be={key:0,class:"article__status"},pe={key:0},_e={class:"badge badge--accent"},ge={class:"display article__title"},me={class:"article__by"},he=["src"],ke={class:"grow article__by-text"},fe={class:"data muted article__meta"},we=["title"],ye=["title"],$e={key:1,class:"article__actions"},Ce=["src"],Me={key:3,class:"article__gallery"},Ue=["src","onClick"],Le={class:"article__sharebar"},Re={class:"article__sharebar-text"},Ae={class:"article__sharebar-btns"},De=["src"],Be=j({__name:"BlogArticleView",setup(C){const k=O(),d=ee(),f=G(),{locale:M,t:U}=K(),H=k.params.id,L=i(!0),R=i(!1),o=i(null),v=i(null),g=i(!1),A=i(0),m=i(null),I=p(()=>o.value?f.isAdmin||f.appUser?.uid===o.value.authorUid:!1),w=p(()=>o.value?.photoUrls?.[0]??null),D=p(()=>o.value?.photoUrls?.slice(1)??[]),P=p(()=>{const t=o.value?.authorDisplayName?.trim();return t?t.split(/\s+/).slice(0,2).map(e=>e[0]?.toUpperCase()??"").join(""):"â¢"}),E=p(()=>{const e=(o.value?.contentMarkdown??"").replace(/<[^>]+>/g," ").split(/\s+/).filter(Boolean).length;return Math.max(1,Math.round(e/200))});function B(){const t=m.value;if(!t)return;const e=t.scrollHeight-t.clientHeight;A.value=e>0?Math.min(100,Math.max(0,t.scrollTop/e*100)):0}Q(async()=>{try{o.value=await V.get(H)}catch{R.value=!0}finally{L.value=!1}m.value?.addEventListener("scroll",B,{passive:!0})}),W(()=>{m.value?.removeEventListener("scroll",B)});async function J(){if(o.value&&window.confirm(U("blog.deleteConfirm")))try{await V.remove(o.value.id),d.push({name:"blog-list"})}catch{window.alert(U("blog.deleteError"))}}function F(){const t=encodeURIComponent(window.location.href);window.open(`https://www.facebook.com/sharer/sharer.php?u=${t}`,"_blank","noopener")}function T(){try{navigator.clipboard?.writeText(window.location.href)}catch{}g.value=!0,setTimeout(()=>{g.value=!1},1800)}const x=["ÑнÑаÑи","ÑевÑÑаÑи","маÑÑ","апÑил","май","Ñни","Ñли","авгÑÑÑ","ÑепÑемвÑи","окÑомвÑи","ноемвÑи","декемвÑи"],Y=["January","February","March","April","May","June","July","August","September","October","November","December"];function q(t){const e=new Date(t),_=M.value==="bg",r=_?x:Y;return _?`${e.getDate()} ${r[e.getMonth()]} ${e.getFullYear()} г.`:`${r[e.getMonth()]} ${e.getDate()}, ${e.getFullYear()}`}return(t,e)=>{const _=te("RouterLink");return l(),n($,null,[s("div",{ref_key:"scrollRoot",ref:m,class:"page article-page scrollable-view"},[s("div",{class:"article-page__progress",style:Z({width:A.value+"%"})},null,4),L.value?(l(),n("div",ce,[...e[7]||(e[7]=[s("span",{class:"article-page__spinner"},null,-1)])])):R.value?(l(),n("div",ue,[s("p",de,a(t.$t("blog.notFound")),1),s("button",{class:"btn btn--sm",onClick:e[0]||(e[0]=r=>y(d).push({name:"blog-list"}))},a(t.$t("blog.backToList")),1)])):o.value?(l(),n("article",ve,[s("button",{class:"btn btn--sm btn--ghost article__back",onClick:e[1]||(e[1]=r=>y(d).push({name:"blog-list"}))},[u(h,{name:"left"}),b(" "+a(t.$t("blog.backToList")),1)]),o.value.status!=="Approved"?(l(),n("p",be,[b(a(o.value.status==="Pending"?t.$t("blog.statusPending"):t.$t("blog.statusRejected"))+" ",1),o.value.status==="Rejected"&&o.value.rejectionReason?(l(),n("span",pe,": "+a(o.value.rejectionReason),1)):c("",!0)])):c("",!0),s("span",_e,a(t.$t("blog.navLabel")),1),s("h1",ge,a(o.value.title),1),s("div",me,[u(_,{class:"avatar article__avatar",to:{name:"public-profile",params:{uid:o.value.authorUid}},title:o.value.authorDisplayName||t.$t("blog.unknownAuthor")},{default:N(()=>[o.value.authorPhotoUrl?(l(),n("img",{key:0,src:o.value.authorPhotoUrl,class:"article__avatar-img",alt:""},null,8,he)):(l(),n($,{key:1},[b(a(P.value),1)],64))]),_:1},8,["to","title"]),s("div",ke,[u(_,{class:"article__author",to:{name:"public-profile",params:{uid:o.value.authorUid}}},{default:N(()=>[b(a(o.value.authorDisplayName||t.$t("blog.unknownAuthor")),1)]),_:1},8,["to"]),s("div",fe,a(q(o.value.publishedAt??o.value.createdAt))+" · "+a(E.value)+" "+a(t.$t("blog.minRead")),1)]),s("button",{class:"btn btn--sm btn--icon",title:t.$t("blog.shareFacebook"),onClick:F},"f",8,we),s("button",{class:"btn btn--sm btn--icon",title:g.value?t.$t("blog.linkCopied"):t.$t("blog.copyLink"),onClick:T},[u(h,{name:"share"})],8,ye)]),I.value?(l(),n("div",$e,[s("button",{class:"btn btn--sm",onClick:e[2]||(e[2]=r=>y(d).push({name:"blog-edit",params:{id:o.value.id}}))},[u(h,{name:"pencil"}),b(" "+a(t.$t("blog.edit")),1)]),s("button",{class:"btn btn--sm btn--danger",onClick:J},[u(h,{name:"trash"}),b(" "+a(t.$t("blog.delete")),1)])])):c("",!0),w.value?(l(),n("img",{key:2,src:w.value,class:"article__cover",alt:"",onClick:e[3]||(e[3]=r=>v.value=w.value)},null,8,Ce)):c("",!0),u(ie,{source:o.value.contentMarkdown,class:"article__body"},null,8,["source"]),D.value.length?(l(),n("div",Me,[(l(!0),n($,null,oe(D.value,(r,z)=>(l(),n("img",{key:z,src:r,class:"article__thumb",alt:"",onClick:Fe=>v.value=r},null,8,Ue))),128))])):c("",!0),s("div",Le,[s("div",Re,a(t.$t("blog.sharePrompt")),1),s("div",Ae,[s("button",{class:"btn btn--sm",onClick:F}
1,a(t.$t("blog.shareFacebook")),1),s("button",{class:"btn btn--sm",onClick:T},a(g.value?t.$t("blog.linkCopied"):t.$t("blog.copyLink")),1)])])])):c("",!0)],512),(l(),X(ae,{to:"body"},[v.value?(l(),n("div",{key:0,class:"blog-lightbox",onClick:e[6]||(e[6]=r=>v.value=null)},[s("img",{src:v.value,class:"blog-lightbox__img",alt:"",onClick:e[4]||(e[4]=se(()=>{},["stop"]))},null,8,De),s("button",{class:"blog-lightbox__close",onClick:e[5]||(e[5]=r=>v.value=null)},[...e[8]||(e[8]=[s("svg",{xmlns:"http://www.w3.org/2000/svg",viewBox:"0 0 24 24",fill:"none",stroke:"currentColor","stroke-width":"2.5",width:"22",height:"22"},[s("path",{"stroke-linecap":"round","stroke-linejoin":"round",d:"M6 18 18 6M6 6l12 12"})],-1)])])])):c("",!0)]))],64)}}}),Se=S(Be,[["__scopeId","data-v-140ebbdd"]]);export{Se as default};
Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.