1import{U as W,H as r,ar as K,aV as u,x as g,az as l,bk as ue,A as o,O as n,a$ as e,_ as f,E as b,f as D,aH as B,B as P,bn as c,n as A,aF as N,N as h,aC as fe,z as pe,u as Q,ap as xe,b2 as me,aK as ge,be as he,at as ie,bd as be}from"./index-CV3TZDaV.js";import{c as _e,b as ve,a as re,t as M}from"./toast-TuChj86r.js";import{_ as te}from"./UserAvatar.vue_vue_type_script_setup_true_lang-CdsbpLHG.js";import{f as Y,h as q,g as Z,_ as ee}from"./DropdownMenuTrigger.vue_vue_type_script_setup_true_lang-3UEkPGfW.js";import{a as de,_ as ye}from"./Textarea.vue_vue_type_script_setup_true_lang-BSIz5k7x.js";import{_ as F}from"./Skeleton.vue_vue_type_script_setup_true_lang-L0aigYES.js";import{t as H,f as ce}from"./format-CanE4lxZ.js";import{h as ne}from"./issue-display-CcnvjUEu.js";import{u as ke}from"./usePins-BNNNVdVa.js";import"./AvatarFallback.vue_vue_type_script_setup_true_lang-D5za69uM.js";const $e=W({__name:"PinPill",props:{n:{},sm:{type:Boolean}},setup(z){const p=z,k=g(()=>`#${String(p.n).padStart(2,"0")}`);return(_,V)=>(l(),r("span",{class:K(["mono inline-flex items-center justify-center rounded-full bg-primary/12 font-semibold tracking-[0.02em] text-primary",z.sm?"h-[18px] px-2 text-[10.5px]":"h-[22px] px-2.5 text-[11.5px]"])},u(k.value),3))}}),we={class:"overflow-hidden rounded-2xl border bg-card"},ze={class:"flex items-center gap-2 border-b bg-muted/50 px-3 py-2"},Ce={class:"ml-1 flex-1 truncate rounded bg-background px-2 py-1 text-center font-mono text-[11px] text-muted-foreground"},Pe={class:"relative aspect-[16/9] w-full overflow-hidden bg-muted/50"},Se=["src","alt"],Ae={key:1,class:"absolute inset-0 flex flex-col items-center justify-center gap-1.5 text-muted-foreground/60"},Ue={key:2,class:"absolute right-2 top-2 rounded bg-background/90 px-1.5 py-0.5 font-mono text-[10px] text-muted-foreground shadow-sm ring-1 ring-border"},Re={key:0,class:"flex gap-1.5 overflow-x-auto border-t bg-muted/30 p-2"},De=["aria-label","aria-pressed","onClick"],Te=["src","alt"],Ee={class:"flex items-center gap-3 border-t px-3 py-2 text-[11px] text-muted-foreground"},Ie={key:0,class:"mono"},Ve={key:1,class:"mono"},Be=W({__name:"ScreenshotViewer",props:{pin:{},pageUrl:{}},setup(z){const p=z;function k(){const v=p.pin.anchor;if(!v)return{};const s=v.viewportSize;return{urlPath:typeof v.urlPath=="string"?v.urlPath:void 0,viewport:s&&typeof s.width=="number"&&typeof s.height=="number"?{width:s.width,height:s.height}:void 0,devicePixelRatio:typeof v.devicePixelRatio=="number"?v.devicePixelRatio:void 0}}const _=g(()=>k()),V=g(()=>{if(p.pageUrl)try{const s=new URL(p.pageUrl);return`${s.host}${s.pathname==="/"?"":s.pathname}`}catch{}return(_.value.urlPath??"").replace(/^\//,"")||"â"}),$=g(()=>(p.pin.attachments??[]).filter(v=>!v.contentType||v.contentType.startsWith("image/"))),m=N(0);ue(()=>p.pin.id,()=>{m.value=0}),ue($,v=>{m.value>=v.length&&(m.value=0)});const x=g(()=>$.value[m.value]??null);return(v,s)=>(l(),r("div",we,[o("div",ze,[s[0]||(s[0]=o("span",{class:"flex gap-1.5"},[o("span",{class:"size-2.5 rounded-full bg-[#ef4444]/70"}),o("span",{class:"size-2.5 rounded-full bg-[#eab308]/70"}),o("span",{class:"size-2.5 rounded-full bg-[#22c55e]/70"})],-1)),o("span",Ce,u(V.value),1)]),o("div",Pe,[x.value?(l(),r("img",{key:0,src:x.value.url,alt:x.value.filename,class:"absolute inset-0 size-full object-contain"},null,8,Se)):(l(),r("div",Ae,[n(e(f),{name:"image",size:22}),s[1]||(s[1]=o("span",{class:"text-[11px]"},"No screenshot",-1))])),$.value.length>1?(l(),r("span",Ue,u(m.value+1)+" / "+u($.value.length),1)):b("",!0)]),$.value.length>1?(l(),r("div",Re,[(l(!0),r(D,null,B($.value,(w,U)=>(l(),r("button",{key:w.id,type:"button",class:K(["relative size-14 shrink-0 overflow-hidden rounded border transition-colors",U===m.value?"border-primary ring-1 ring-primary":"border-border hover:border-muted-foreground"]),"aria-label":`Show ${w.filename}`,"aria-pressed":U===m.value,onClick:y=>m.value=U},[o("img",{src:w.url,alt:w.filename,class:"size-full object-cover",loading:"lazy"},null,8,Te)],10,De))),128))])):b("",!0),o("div",Ee,[_.value.viewport?(l(),r("span",Ie,u(_.value.viewport.width)+"Ã"+u(_.value.viewport.height),1)):b("",!0),_.value.devicePixelRatio?(l(),r("span",Ve,"@"+u(_.value.devicePixelRatio)+"x",1)):b("",!0),o("span",null,"Captured "+u(e(H)(z.pin.createdAt)),1),x.value?(l(),P(e(A),{key:2,variant:"ghost",size:"icon-sm",class:"ml-auto",title:"Download",as:"a",href:x.value.url,download:x.value.filename},{default:c(()=>[n(e(f),{name:"download",size:13})]),_:1},8,["href","download"])):b("",!0)])]))}}),je={class:"rounded-lg border bg-card"},qe={class:"truncate font-mono text-[11px] text-muted-foreground"},Ke={key:0,class:"grid grid-cols-[110px_1fr] gap-x-4 gap-y-2 border-t px-4 py-3 text-[12px]"},Ne={class:"text-muted-foreground"},Fe={class:"mono break-all text-foreground"},Le=W({__name:"AnchorBlock",props:{anchor:{},stale:{type:Boolean}},setup(z){const p=z,k=N(!0);function _(m){return typeof m=="string"&&m.length>0?m:null}const V=g(()=>_(p.anchor.selector)??"â"),$=g(()=>{const m=p.anchor,x=[],v=_(m.tag);v&&x.push(["Tag",v]);const s=_(m.role);x.push(["Role",s??"â"]);const w=_(m.selector);w&&x.push(["CSS selector",w]);const U=_(m.xpath);U&&x.push(["XPath",U]);const y=_(m.textFingerprint)??_(m.accessibleName)??null;x.push(["Text",y??"â"]);const C=m.boundingBox;C&&typeof C.x=="number"&&typeof C.y=="number"&&typeof C.width=="number"&&typeof C.height=="number"&&x.push(["Bounding box",`${C.x}, ${C.y} · ${C.width}Ã${C.height}`]);const T=m.viewportSize,E=m.devicePixelRatio;if(T&&typeof T.width=="number"&&typeof T.height=="number"){const I=typeof E=="number"?` @${E}x`:"";x.push(["Captured",`${T.width}Ã${T.height}${I}`])}return x});return(m,x)=>(l(),r("div",je,[o("button",{type:"button",class:"flex w-full items-center gap-2 px-4 py-3 text-left",onClick:x[0]||(x[0]=v=>k.value=!k.value)},[n(e(f),{name:"mouse-pointer-2",size:15,class:K(z.stale?"text-[color:var(--status-stale)]":"text-primary")},null,8,["class"]),x[1]||(x[1]=o("span",{class:"text-sm font-medium"},"Anchor",-1)),o("span",qe,u(V.value),1),o("span",{class:K(["ml-auto flex shrink-0 items-center gap-1 text-[11px]",z.stale?"text-[color:var(--status-stale)]":"text-[color:var(--status-resolved)]"])},[n(e(f),{name:z.stale?"triangle-alert":"check",size:13},null,8,["name"]),h(" "+u(z.stale?"Element not found":"Resolves"),1)],2),n(e(f),{name:"chevron-down",size:15,class:K(["shrink-0 text-muted-foreground transition-transform",k.value?"rotate-180":""])},null,8,["class"])]),k.value?(l(),r("div",Ke,[(l(!0),r(D,null,B($.value,v=>(l(),r(D,{key:v[0]},[o("span",Ne,u(v[0]),1),o("span",Fe,u(v[1]),1)],64))),128))])):b("",!0)]))}}),Oe={class:"flex flex-col gap-4"},Qe={key:0,class:"flex flex-col gap-4"},Me={class:"flex-1 space-y-1.5"},He={key:1,class:"relative flex flex-col gap-4"},We={key:0,class:"absolute bottom-3 left-[13px] top-3 w-px bg-border"},Xe={class:"flex flex-wrap items-center gap-1 pt-1.5 text-[12px] text-muted-foreground"},Ge={class:"font-medium text-foreground"},Je={class:"flex-1 rounded-xl bg-muted/50 p-3"},Ye={class:"flex items-center gap-2"},Ze={class:"text-[13px] font-medium"},et={class:"text-[11px] text-muted-foreground"},tt=["title"],nt={type:"button",class:"ml-auto flex size-5 items-center justify-center rounded text-muted-foreground transition-colors hover:bg-muted/60 hover:text-foreground",title:"More"},st={class:"mt-2 flex items-center justify-end gap-2"},at={key:1,class:"mt-1 whitespace-pre-wrap text-[13px] leading-relaxed text-foreground
1/90"},ot={class:"flex flex-col gap-2"},lt={class:"flex items-center justify-between gap-2"},it=W({__name:"ActivityThread",props:{pin:{}},setup(z){const p=z,k=_e(),_=me(),V=ve({queryKey:g(()=>["pin",p.pin.id,"comments"]),queryFn:()=>Q.pins.comments.list(p.pin.id)}),$=g(()=>V.data.value??[]),m=g(()=>_.user.value),x=g(()=>{var i,a;return((i=m.value)==null?void 0:i.role)==="owner"||((a=m.value)==null?void 0:a.role)==="admin"});function v(i){var a;return((a=m.value)==null?void 0:a.id)===i.author.id}function s(i){return v(i)||x.value}const w=N(""),U=N(null),y=re({mutationFn:i=>Q.pins.comments.create(p.pin.id,i),onSuccess:()=>{k.invalidateQueries({queryKey:["pin",p.pin.id,"comments"]}),w.value="",xe(()=>{var i;return(i=U.value)==null?void 0:i.focus()})},onError:i=>M.error(i)});function C(){const i=w.value.trim();!i||y.isPending.value||y.mutate(i)}function T(i){(i.metaKey||i.ctrlKey)&&i.key==="Enter"&&(i.preventDefault(),C())}const E=N(null),I=fe({});function se(i){E.value=i.id,I[i.id]=i.body}function j(){E.value=null}const S=re({mutationFn:({commentId:i,body:a})=>Q.pins.comments.update(p.pin.id,i,a),onSuccess:()=>{k.invalidateQueries({queryKey:["pin",p.pin.id,"comments"]}),E.value=null},onError:i=>M.error(i)});function L(i){const a=(I[i.id]??"").trim();if(a){if(a===i.body){E.value=null;return}S.mutate({commentId:i.id,body:a})}}const X=re({mutationFn:i=>Q.pins.comments.remove(p.pin.id,i),onSuccess:()=>{k.invalidateQueries({queryKey:["pin",p.pin.id,"comments"]}),M.success("Comment deleted")},onError:i=>M.error(i)});function G(i){return pe({title:"Delete this comment?",message:"This permanently removes the comment from the thread.",confirmLabel:"Delete",variant:"destructive",onConfirm:()=>X.mutateAsync(i.id)})}const O=g(()=>{const i=[];if(p.pin.author&&i.push({id:`${p.pin.id}-pinned`,kind:"pinned",actor:{id:p.pin.author.id,name:p.pin.author.name,avatarUrl:p.pin.author.avatarUrl},createdAt:p.pin.createdAt}),p.pin.assignee){const a=p.pin.author??p.pin.assignee;i.push({id:`${p.pin.id}-assignee`,kind:"assign",actor:{id:a.id,name:a.name,avatarUrl:a.avatarUrl},meta:p.pin.assignee.name,createdAt:p.pin.updatedAt})}return i}),ae={pinned:"map-pin",assign:"user-round"};function oe(i){return i.kind==="pinned"?"pinned this":`assigned ${i.meta}`}const le=g(()=>O.value.length+$.value.length);return(i,a)=>(l(),r("div",Oe,[a[5]||(a[5]=o("div",{class:"text-sm font-medium"},"Activity",-1)),e(V).isPending.value?(l(),r("div",Qe,[(l(),r(D,null,B(3,t=>o("div",{key:`sk-${t}`,class:"flex gap-3"}
1,[n(e(F),{class:"size-[27px] shrink-0 rounded-full"}),o("div",Me,[n(e(F),{class:"h-3 w-32"}),n(e(F),{class:"h-3 w-[70%]"})])])),64))])):(l(),r("div",He,[le.value>1?(l(),r("span",We)):b("",!0),(l(!0),r(D,null,B(O.value,t=>(l(),r("div",{key:t.id,class:"relative flex gap-3"},[n(e(te),{class:"z-10 shrink-0",name:t.actor.name,"avatar-url":t.actor.avatarUrl,hue:e(ne)(t.actor.id),size:28},null,8,["name","avatar-url","hue"]),o("div",Xe,[o("span",Ge,u(t.actor.name),1),h(" "+u(oe(t))+" ",1),n(e(f),{name:ae[t.kind],size:11,class:"opacity-60"},null,8,["name"]),o("span",null,"· "+u(e(H)(t.createdAt)),1)])]))),128)),(l(!0),r(D,null,B($.value,t=>{var R;return l(),r("div",{key:t.id,class:"relative flex gap-3"},[n(e(te),{class:"z-10 shrink-0",name:t.author.name,"avatar-url":t.author.avatarUrl,hue:e(ne)(t.author.id),size:28},null,8,["name","avatar-url","hue"]),o("div",Je,[o("div",Ye,[o("span",Ze,u(t.author.name),1),o("span",et,u(e(H)(t.createdAt)),1),t.updatedAt!==t.createdAt?(l(),r("span",{key:0,class:"text-[11px] text-muted-foreground",title:`Edited ${e(H)(t.updatedAt)}`}," · edited ",8,tt)):b("",!0),v(t)||s(t)?(l(),P(e(ee),{key:1},{default:c(()=>[n(e(Y),{"as-child":""},{default:c(()=>[o("button",nt,[n(e(f),{name:"ellipsis",size:14})])]),_:1}),n(e(Z),{align:"end",class:"w-36"},{default:c(()=>[v(t)?(l(),P(e(q),{key:0,onSelect:d=>se(t)},{default:c(()=>[n(e(f),{name:"pencil",size:14}),a[1]||(a[1]=h(" Edit ",-1))]),_:1},8,["onSelect"])):b("",!0),s(t)?(l(),P(e(q),{key:1,class:"text-destructive",onSelect:d=>G(t)},{default:c(()=>[n(e(f),{name:"trash-2",size:14}),a[2]||(a[2]=h(" Delete ",-1))]),_:1},8,["onSelect"])):b("",!0)]),_:2},1024)]),_:2},1024)):b("",!0)]),E.value===t.id?(l(),r(D,{key:0},[n(e(de),{modelValue:I[t.id],"onUpdate:modelValue":d=>I[t.id]=d,class:"mt-2 min-h-[60px] text-[13px]",disabled:e(S).isPending.value},null,8,["modelValue","onUpdate:modelValue","disabled"]),o("div",st,[n(e(A),{variant:"ghost",size:"sm",disabled:e(S).isPending.value,onClick:j},{default:c(()=>[...a[3]||(a[3]=[h(" Cancel ",-1)])]),_:1},8,["disabled"]),n(e(A),{size:"sm",disabled:!((R=I[t.id])!=null&&R.trim())||e(S).isPending.value,onClick:d=>L(t)},{default:c(()=>[e(S).isPending.value?(l(),P(e(f),{key:0,name:"loader-circle",size:14,class:"animate-spin"})):b("",!0),h(" "+u(e(S).isPending.value?"Savingâ¦":"Save"),1)]),_:1},8,["disabled","onClick"])])],64)):(l(),r("p",at,u(t.body),1))])])}),128))])),o("div",ot,[n(e(de),{ref_key:"composerRef",ref:U,modelValue:w.value,"onUpdate:modelValue":a[0]||(a[0]=t=>w.value=t),placeholder:"Write a commentâ¦",class:"min-h-[72px] resize-y text-[13px]",disabled:e(y).isPending.value,onKeydown:T},null,8,["modelValue","disabled"]),o("div",lt,[a[4]||(a[4]=o("span",{class:"text-[11px] text-muted-foreground"},[o("span",{class:"font-mono"},"ââµ"),h(" to send ")],-1)),n(e(A),{size:"sm",class:"rounded-full",disabled:!w.value.trim()||e(y).isPending.value,onClick:C},{default:c(()=>[e(y).isPending.value?(l(),P(e(f),{key:0,name:"loader-circle",size:14,class:"animate-spin"})):b("",!0),h(" "+u(e(y).isPending.value?"Sendingâ¦":"Comment"),1)]),_:1},8,["disabled"])])])]))}}),rt={class:"min-h-dvh bg-background text-foreground"},ut={class:"sticky top-0 z-10 shrink-0 border-b border-border/60 bg-background/80 backdrop-blur-xl",style:{"padding-top":"env(safe-area-inset-top)"}},dt={class:"mx-auto flex h-[52px] w-full max-w-3xl items-center gap-2 px-4 sm:px-6"},ct={class:"ml-auto flex items-center gap-2"},pt={key:0,class:"flex items-center gap-0.5 rounded-full bg-muted/60 p-0.5"},mt=["disabled"],vt={class:"px-1 font-mono text-[11px] tabular-nums text-muted-foreground"},ft=["disabled"],xt={key:0,class:"mx-auto w-full max-w-3xl px-4 py-6 sm:px-6"},gt={key:1,class:"flex min-h-[60dvh] flex-col items-center justify-center gap-3 px-6 text-center"},ht={key:2},bt={class:"mx-auto flex w-full max-w-3xl flex-col gap-6 px-4 pt-6 sm:px-6",style:{"padding-bottom":"calc(2.5rem + env(safe-area-inset-bottom))"}},_t={class:"flex flex-col gap-2"},yt={class:"flex flex-wrap items-center gap-2"},kt={class:"text-xs text-muted-foreground"},$t=["href"],wt={class:"truncate"},zt={class:"text-lg font-semibold leading-tight tracking-tight"},Ct={key:0,class:"whitespace-pre-wrap text-sm leading-relaxed text-foreground
1/90"},Pt={class:"flex flex-wrap items-center gap-2"},St={key:0,class:"flex flex-wrap items-center gap-1.5"},At={class:"text-xs text-muted-foreground"},Ut={class:"max-w-[180px] truncate"},Rt={class:"rounded-2xl border bg-card px-4 py-4"},Dt={class:"overflow-hidden rounded-2xl border bg-card"},Tt=["aria-expanded"],Et={key:0,class:"border-t border-border/60 p-4"},Qt=W({__name:"PinDetailPage",setup(z){const p=be(),k=he(),_=me(),V=g(()=>String(p.params.pinId??"")),{query:$,setStatus:m,setAssignee:x,remove:v}=ke(V),s=g(()=>$.data.value??null),w=ve({queryKey:["workspace","members"],queryFn:()=>Q.workspaces.members()}),U=g(()=>w.data.value??[]),y={open:{label:"Open",color:"var(--status-open)"},in_progress:{label:"In progress",color:"var(--status-progress)"},resolved:{label:"Resolved",color:"var(--status-resolved)"}},C=["open","in_progress","resolved"],T=g(()=>{var a;return y[((a=s.value)==null?void 0:a.status)??"open"]??y.open}),E=g(()=>{var a;return((a=s.value)==null?void 0:a.status)==="resolved"}),I=g(()=>{var R,d;const a=((R=s.value)==null?void 0:R.comment)??"",t=((d=s.value)==null?void 0:d.title)??"";return a?t&&a.startsWith(t)?a.slice(t.length).replace(/^\s*\n+/,"").trim():a:""}),se=g(()=>{var t;const a=_.user.value;return!a||!s.value?!1:((t=s.value.author)==null?void 0:t.id)===a.id?!0:a.role==="admin"||a.role==="owner"}),j=N(!1),S=g(()=>s.value?[{id:s.value.id,index:s.value.index},...s.value.siblings.map(t=>({id:t.id,index:t.index}))].sort((t,R)=>t.index-R.index):[]),L=g(()=>S.value.findIndex(a=>{var t;return a.id===((t=s.value)==null?void 0:t.id)})),X=g(()=>S.value[L.value-1]??null),G=g(()=>S.value[L.value+1]??null);function O(a){a&&k.push(`/p/${a.id}`)}function ae(){if(!s.value)return;const a=new URL(s.value.pageUrl);a.hash=`pinlay-pin=${s.value.id}`,window.open(a.toString(),"_blank","noopener")}function oe(){var a;try{(a=navigator.clipboard)==null||a.writeText(window.location.href),M.success("Link copied")}catch{}}function le(){pe({title:"Delete this pin?",message:"The pin and its comments are permanently removed.",confirmLabel:"Delete pin",variant:"destructive",onConfirm:async()=>{await v.mutateAsync(),k.push("/")}})}function i(a){x((a==null?void 0:a.id)??null)}return(a,t)=>{const R=ge("RouterLink");return l(),r("div",rt,[o("header",ut,[o("div",dt,[n(R,{to:"/",class:"-ml-2.5"},{default:c(()=>[n(e(A),{variant:"ghost",size:"sm",class:"min-h-[40px]"},{default:c(()=>[n(e(f),{name:"arrow-left",size:15}),t[6]||(t[6]=h(" Pins ",-1))]),_:1})]),_:1}),o("div",ct,[s.value&&S.value.length>1?(l(),r("div",pt,[o("button",{type:"button",class:"flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors enabled:hover:bg-background enabled:hover:text-foreground enabled:hover:shadow-sm disabled:opacity-40",disabled:!X.value,"aria-label":"Previous pin in this session",onClick:t[0]||(t[0]=d=>O(X.value))},[n(e(f),{name:"chevron-left",size:15})],8,mt),o("span",vt,u(L.value+1)+"/"+u(S.value.length),1),o("button",{type:"button",class:"flex size-8 items-center justify-center rounded-full text-muted-foreground transition-colors enabled:hover:bg-background enabled:hover:text-foreground enabled:hover:shadow-sm disabled:opacity-40",disabled:!G.value,"aria-label":"Next pin in this session",onClick:t[1]||(t[1]=d=>O(G.value))},[n(e(f),{name:"chevron-right",size:15})],8,ft)])):b("",!0),n(e(ee),null,{default:c(()=>[n(e(Y),{"as-child":""},{default:c(()=>[n(e(A),{variant:"ghost",size:"icon-sm",class:"min-h-[40px] min-w-[40px]",title:"More"},{default:c(()=>[n(e(f),{name:"ellipsis",size:16})]),_:1})]),_:1}),n(e(Z),{align:"end"},{default:c(()=>[n(e(q),{onClick:oe},{default:c(()=>[n(e(f),{name:"link",size:14}),t[7]||(t[7]=h(" Copy link ",-1))]),_:1}),se.value?(l(),r(D,{key:0},[n(e(ye)),n(e(q),{class:"text-destructive focus:bg-destructive/10 focus:text-destructive",onClick:le},{default:c(()=>[n(e(f),{name:"trash-2",size:14}),t[8]||(t[8]=h(" Delete pin ",-1))]),_:1})],64)):b("",!0)]),_:1})]),_:1}),n(e(A),{size:"sm",class:"min-h-[40px]",disabled:!s.value,onClick:ae},{default:c(()=>[n(e(f),{name:"square-arrow-out-up-right",size:14}),t[9]||(t[9]=o("span",{class:"hide-mobile"},"Open on page",-1))]),_:1},8,["disabled"])])])]),e($).isPending.value?(l(),r("div",xt,[n(e(F),{
1class:"mb-3 h-6 w-2/3"}),n(e(F),{class:"mb-6 h-4 w-1/3"}),n(e(F),{class:"aspect-[16/9] w-full rounded-lg"})])):e($).isError.value||!s.value?(l(),r("div",gt,[n(e(f),{name:"map-pin-off",size:22,class:"text-muted-foreground"}),t[11]||(t[11]=o("p",{class:"text-sm text-muted-foreground"}," This pin doesn't exist or was deleted. ",-1)),n(R,{to:"/"},{default:c(()=>[n(e(A),{variant:"outline",size:"sm"},{default:c(()=>[...t[10]||(t[10]=[h("Back to Pins",-1)])]),_:1})]),_:1})])):(l(),r("div",ht,[o("div",bt,[o("div",_t,[o("div",yt,[n($e,{n:s.value.index},null,8,["n"]),o("span",kt,u(s.value.author?e(ce)(s.value.author.name):"Someone")+" · "+u(e(H)(s.value.createdAt)),1),o("a",{href:s.value.pageUrl,target:"_blank",rel:"noopener",class:"inline-flex min-w-0 items-center gap-1 truncate text-xs text-muted-foreground underline-offset-2 hover:text-foreground hover:underline"},[n(e(f),{name:"globe",size:12,class:"shrink-0"}),o("span",wt,u(s.value.pageUrl.replace(/^https?:\/\//,"")),1)],8,$t)]),o("h1",zt,u(s.value.title||"(no comment)"),1),I.value?(l(),r("p",Ct,u(I.value),1)):b("",!0)]),o("div",Pt,[n(e(ee),null,{default:c(()=>[n(e(Y),{"as-child":""},{default:c(()=>[n(e(A),{variant:"outline",size:"sm",class:"min-h-[40px] gap-1.5"},{default:c(()=>[o("span",{class:"size-1.5 shrink-0 rounded-full",style:ie({background:T.value.color})},null,4),h(" "+u(T.value.label)+" ",1),n(e(f),{name:"chevron-down",size:13,class:"text-muted-foreground"})]),_:1})]),_:1}),n(e(Z),{align:"start"},{default:c(()=>[(l(),r(D,null,B(C,d=>n(e(q),{key:d,onClick:J=>e(m)(d)},{default:c(()=>[o("span",{class:"size-1.5 shrink-0 rounded-full",style:ie({background:y[d].color})},null,4),h(" "+u(y[d].label),1)]),_:2},1032,["onClick"])),64))]),_:1})]),_:1}),n(e(ee),null,{default:c(()=>[n(e(Y),{"as-child":""},{default:c(()=>[n(e(A),{variant:"outline",size:"sm",class:"min-h-[40px] gap-1.5"},{default:c(()=>[s.value.assignee?(l(),P(e(te),{key:0,name:s.value.assignee.name,"avatar-url":s.value.assignee.avatarUrl,hue:e(ne)(s.value.assignee.id),size:18},null,8,["name","avatar-url","hue"])):(l(),P(e(f),{key:1,name:"user-plus",size:14})),h(" "+u(s.value.assignee?e(ce)(s.value.assignee.name):"Assign")+" ",1),n(e(f),{name:"chevron-down",size:13,class:"text-muted-foreground"})]),_:1})]),_:1}),n(e(Z),{align:"start"},{default:c(()=>[s.value.assignee?(l(),P(e(q),{key:0,onClick:t[2]||(t[2]=d=>i(null))},{default:c(()=>[n(e(f),{name:"user-minus",size:14}),t[12]||(t[12]=h(" Unassign ",-1))]),_:1})):b("",!0),(l(!0),r(D,null,B(U.value,d=>(l(),P(e(q),{key:d.id,onClick:J=>i({id:d.userId,name:d.name,email:d.email,avatarUrl:d.avatarUrl})},{default:c(()=>[n(e(te),{name:d.name,"avatar-url":d.avatarUrl,hue:e(ne)(d.userId),size:18},null,8,["name","avatar-url","hue"]),h(" "+u(d.name),1)]),_:2},1032,["onClick"]))),128))]),_:1})]),_:1}),E.value?(l(),P(e(A),{key:0,variant:"outline",size:"sm",class:"ml-auto min-h-[40px]",onClick:t[3]||(t[3]=d=>e(m)("open"))},{default:c(()=>[n(e(f),{name:"rotate-ccw",size:14}),t[13]||(t[13]=h(" Re-open ",-1))]),_:1})):(l(),P(e(A),{key:1,variant:"outline",size:"sm",class:"ml-auto min-h-[40px]",onClick:t[4]||(t[4]=d=>e(m)("resolved"))},{default:c(()=>[n(e(f),{name:"check",size:14}),t[14]||(t[14]=h(" Resolve ",-1))]),_:1}))]),n(Be,{pin:s.value,"page-url":s.value.pageUrl},null,8,["pin","page-url"]),s.value.siblings.length>0?(l(),r("div",St,[o("span",At,u(s.value.siblings.length)+" more pin"+u(s.value.siblings.length===1?"":"s")+" on this page: ",1),(l(!0),r(D,null,B(s.value.siblings,d=>(l(),P(R,{key:d.id,to:`/p/${d.id}`,class:"inline-flex min-h-[32px] items-center gap-1.5 rounded-full border px-2.5 text-xs transition-colors hover:border-primary"},{default:c(()=>{var J;return[o("span",{class:"size-1.5 rounded-full",style:ie({background:((J=y[d.status])==null?void 0:J.color)??y.open.color})},null,4),o("span",Ut,"#"+u(String(d.index).padStart(2,"0"))+" "+u(d.title),1)]}),_:2},1032,["to"]))),128))])):b("",!0),o("div",Rt,[n(it,{pin:s.value},null,8,["pin"])]),o("div",Dt,[o("button",{type:"button",class:"flex min-h-[48px] w-full items-center gap-2 px-4 text-left text-sm text-muted-foreground transition-colors hover:text-foreground","aria-expanded":j.value,onClick:t[5]||(t[5]=d=>j.value=!j.value)},[n(e(f),{name:"chevron-right",size:14,class:K(["transition-transform duration-200",j.value?"rotate-90":""])},null,8,["class"]),t[15]||(t[15]=h(" Developer details ",-1)),t[16
1]||(t[16]=o("span",{class:"ml-auto font-mono text-[11px] opacity-60"},"anchor",-1))],8,Tt),j.value?(l(),r("div",Et,[s.value.anchor?(l(),P(Le,{key:0,anchor:s.value.anchor,stale:s.value.stale},null,8,["anchor","stale"])):b("",!0)])):b("",!0)])])]))])}}});export{Qt 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.