1import{aT as M,d as U,j as B,aj as E,ak as L,a$ as N,y as S,X as H,z as I,a as o,b as r,c as h,f as e,ce as R,S as F,s as d,cG as _,e as m,w as u,b9 as j,G,t as v,ac as W,dE as X,p as q,F as J,m as p,l as w,v as K,aw as O}from"./index-DcSVvNrM.js";import{_ as Q}from"./Scene.vue_vue_type_style_index_0_lang-Bp082L0t.js";import{u as Y}from"./useDebouncedUiToggle-2KTYyWEn.js";const Z=()=>M(),ee={class:"achievement"},te={key:0,class:"achievement__title"},ae=["innerHTML"],ie={class:"achievement__actions"},le=U({__name:"Achievement",props:{modelUrl:{},modelViewData:{},previewImage:{},title:{},description:{},external:{type:Boolean},caption:{},share:{type:Function},ownershipData:{}},emits:["close","pin"],setup(a,{emit:b}){var C;const i=a,c=b,{t:l}=Z(),f=B(),{user:k}=E(),{setPinnedCollectible:x}=L(),{trackEvent:z}=N(),{alert:y,AlertType:g}=S(),{modalHeaderRef:D}=H(),{stateModel:A,toggleState:P}=Y(async s=>{var t,n;I((t=i.ownershipData)==null?void 0:t.id)&&(await x({type:"achievement",id:(n=i.ownershipData)==null?void 0:n.id},s),c("pin",s),y({type:g.Success,text:l(s?"achievements.pinned":"achievements.unpinned")}))},{initialValue:((C=i.ownershipData)==null?void 0:C.isPinned)??!1,delay:300}),T=K(()=>{var s;return i.ownershipData!==void 0&&"isPinned"in i.ownershipData&&i.ownershipData.userId===((s=k.value)==null?void 0:s.id)&&i.ownershipData.isPinned!==void 0});function V(){f.push({name:"Collectibles",params:{nickname:O(k.value)}}),c("close")}function $(){var s;(s=i.share)==null||s.call(i),z("Achievements â Share â Click")}return(s,t)=>(o(),r("div",ee,[(o(),h(_,{to:e(D),disabled:!e(D)},[T.value?(o(),h(e(R),{key:0,class:F(["achievement__pin",e(A)&&"achievement__pin--active"]),icon:"pin",onClick:t[0]||(t[0]=n=>e(P)())},null,8,["class"])):d("",!0)],8,["to","disabled"])),m(e(Q),{class:"achievement__scene","canvas-size":300,"model-size":256,"model-url":a.modelUrl,"model-caption":a.caption,"model-view-data":a.modelViewData,"preview-image":a.previewImage,onModelError:t[1]||(t[1]=n=>
1{e(y)({type:e(g).Error,text:n})})},{default:u(()=>[m(e(j),G(a.previewImage,{size:256}),null,16)]),_:1},8,["model-url","model-caption","model-view-data","preview-image"]),a.title?(o(),r("div",te,v(a.title),1)):d("",!0),a.description?W((o(),r("div",{key:1,class:"achievement__description",innerHTML:a.description},null,8,ae)),[[e(X),[e(f),()=>{c("close")}]]]):d("",!0),q("div",ie,[a.external?(o(),r(J,{key:0},[m(e(w),{size:"l",onClick:t[2]||(t[2]=n=>c("close"))},{default:u(()=>[p(v(e(l)("common.great")),1)]),_:1}),m(e(w),{size:"l",type:"minimal",onClick:t[3]||(t[3]=n=>V())},{default:u(()=>[p(v(e(l)("achievements.toMy")),1)]),_:1})],64)):a.share!==void 0?(o(),h(e(w),{key:1,size:"l",onClick:t[4]||(t[4]=n=>$())},{default:u(()=>[p(v(e(l)("common.share")),1)]),_:1})):d("",!0)])]))}});export{le 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.