PageSourceSearch

https://en-us.hikingbook.net/js/2059.aed20ee1c90b56d89017.min.js

js hikingbook.net collected 2026-10-02 03:38:43 UTC 25,575 bytes, 2 lines download raw bytes

1"use strict";(self.webpackChunkhikingbook=self.webpackChunkhikingbook||[]).push([[2059,6380],{85114(e,t,i){i.d(t,{A:()=>o});var a=i(51455),n=i(74326),s=i(56059),r=i(79945),l=i(25381);class o{constructor(e){this.id=e.id||(0,r.A)(),this.encodedID=e.encodedID||(0,l.cJ)(this.id),this.name=e.name||"",this.description=e.description||"",this.imageURL=e.imageURL||"",this.lockedImageURL=e.lockedImageURL||"",this.noteURL=e.noteURL||"",this.criteria=e.criteria||{},this.eventID=e.eventID,this.createdAt=e.createdAt?new Date(e.createdAt):new Date,this.achievedAt=e.achievedAt?new Date(e.achievedAt):null,this.event=e.event?new a.default(e.event):null,this.awardees=e.awardees||[]}get formattedAchievedDate(){return this.achievedAt?(0,n.i)(this.achievedAt,s.A.format.digitDate):null}}},25594(e,t,i){i.d(t,{A:()=>n});var a=i(79945);class n{constructor(e={}){this.id=e.id||(0,a.A)(),this.eventPackageID=e.eventPackageID,this.languageCode=e.languageCode,this.title=e.title||"",this.whatsIncluded=e.whatsIncluded||{},this.whatsIncluded.items||(this.whatsIncluded.items=[])}}},77078(e,t,i){i.d(t,{A:()=>s});i(47144),i(89542);var a=i(79945),n=i(25594);class s{constructor(e={}){this.id=e.id||(0,a.A)(),this.eventID=e.eventID,this.priceISO4217Code=e.priceISO4217Code||"TWD",this.price=Number(e.price)||0,this.title=e.title||"",this.whatsIncluded=e.whatsIncluded||{},this.whatsIncluded.items||(this.whatsIncluded.items=[]),this.l10ns=(e.l10ns||[]).map(e=>new n.A(e))}get isWhatsIncludedAvailable(){return this.whatsIncluded?.imageURL||this.whatsIncluded?.items?.length>0}}},51455(e,t,i){i.d(t,{default:()=>c});i(47144),i(89542),i(99686);var a=i(57984),n=i(74326),s=i(79945),r=i(25381),l=i(56059),o=i(77078);class c{constructor(e){this.id=e.id||(0,s.A)(),this.encodedID=e.encodedID||(0,r.cJ)(this.id),this.visible=e.visible,this.signupStart=e.signupStart?new Date(e.signupStart):new Date,this.start=e.start?new Date(e.start):new Date,this.start.setHours(0,0,0,0),this.end=e.end?new Date(e.end):new Date,this.end.setHours(0,0,0,0),this.isoA3CountryCodes=e.isoA3CountryCodes||[],this.createdAt=e.createdAt?new Date(e.createdAt):new Date,this.pathname=e.pathname||"",this.htmlFilename=e.htmlFilename||"event",this.userID=e.userID||l.A.users.hikingbook,this.signUpForm=e.signUpForm||{},this.totalParticipants=e.totalParticipants||0,this.trailIDs=e.trailIDs||[],this.redirectURL=e.redirectURL,this.coverURL=e.coverURL||"",this.landscapeCoverURL=e.landscapeCoverURL||this.coverURL,this.portraitCoverURL=e.portraitCoverURL||this.landscapeCoverURL,this.name=e.name||"",this.introduction=e.introduction||"",this.summary=e.summary||"",this.rule=e.rule||"",this.prize=e.prize||"",this.notice=e.notice||"",this.faq=e.faq||"",this.prizeTagline=e.prizeTagline||"",this.criteria=e.criteria||{},this.leaderboardConfig=e.leaderboardConfig||{},this.packages=(e.packages||[]).map(e=>new o.A(e)),this.progress=e.progress,this.brands=e.brands||[],this.templatePromoCodeID=e.templatePromoCodeID}get isStarted(){const e=(0,a.yf)().startOf("date").toDate();return this.start<=e}get isOngoing(){const e=(0,a.yf)().startOf("date").toDate();return this.start<=e&&this.end>=e}get isSignUpOpen(){const e=(0,a.yf)().startOf("date").toDate();return this.signupStart<=e&&this.end>=e}get url(){return this.redirectURL?this.redirectURL:`/events/${this.pathname}`}get signUpURL(){return`/events/${this.encodedID}/sign-up`}get leaderboardURL(){return`/events/${this.encodedID}/leaderboard`}get formattedStart(){return(0,n.i)((0,a.yf)(this.start).startOf("day"),l.A.format.digitDate)}get formattedEnd(){return(0,n.i)((0,a.yf)(this.end).endOf("day"),l.A.format.digitDate)}get formattedDuration(){return`${this.formattedStart} - ${this.formattedEnd}`}get hasPaidPackages(){return this.packages.some(e=>e.price>0)}get hasMultiplePackages(){return this.packages.length>1}get price(){return this.packages.length>0?Math.min(...this.packages.map(e=>e.price)):0}eventProperties(e=this.packages[0]){const t=e?.price||0;let i={item_id:e?.id||this.id,item_name:e?.title||this.name,item_brand:"Hikingbook",price:t,quantity:1};return{currency:this.priceISO4217Code,value:t,items:[i]}}get prizeTags(){return this.prizeTagline.trim()?this.prizeTagline.split(/[,、]/).map(e=>e.trim()):[]}isSignUpFormRequired(e,t){return this.signUpForm?.basicInformation&&!e.isChallengePersonalInfoFilled||this.signUpForm?.shippingInformation&&!t.isFilled||this.packages.length>0}}},74326(e,t,i){i.d(t,{i:()=>n,j:()=>s});var a=i(25381);function n(e,t){return new Intl.DateTimeFormat((0,a.JK)(!1),t).format(e)}function s(e,t){return new Intl.NumberFormat((0,a.JK)(!1),t).format(e)}},43931(e,t,i){var a=i(25381);
1const n={methods:{getSupportLocales(){let e={};const t=(0,a.eq)("support-locales");for(var i in t)if(Object.prototype.hasOwnProperty.call(t,i)){e[(0,a.QC)(i,"_")]=t[i]}return e}}};i.d(t,["A",0,n])},66141(e,t,i){const a="Are you sure you want to leave?",n={data:()=>({isDirty:!1}),beforeMount(){window.addEventListener("beforeunload",this.preventRefresh),window.addEventListener("pagehide",this.preventRefresh)},beforeUnmount(){window.removeEventListener("beforeunload",this.preventRefresh),window.removeEventListener("pagehide",this.preventRefresh)},beforeRouteLeave(e,t,i){this.isDirty&&!window.confirm(a)||i()},methods:{preventRefresh(e){if(this.isDirty)return e.preventDefault(),e.returnValue=a,e.returnValue}}};i.d(t,["A",0,n])},56380(e,t,i){function a(e){var t=e.match(/^(\w+) ((\d+)-(\d+)|\*)\/(\d+|\*)$/);if(!t)return null;var i=t[1],a=t[3],n=t[4],s=t[5],r={unit:i,start:null!=a?Number(a):null,end:null!=n?Number(n):null,size:"*"===s?null:Number(s)};return null===r.start&&null===r.end&&null===r.size?null:r}i.d(t,{parse:()=>a})},52059(e,t,i){i.r(t),i.d(t,{default:()=>G});var a=i(49424);const n={class:"d-flex align-items-center justify-content-between my-3"},s={key:0},r={class:"btn-group"},l={class:"row"},o={id:"achievement-list",class:"col-md-4 overflow-auto vh-100"},c={class:"card-body"},d={class:"mt-2 mb-0"},h={class:"d-flex gap-2"},m={class:"flex-fill"},u={class:"flex-fill"},v={class:"d-grid mt-2"},p={class:"btn-group"},g=["onClick"],f={class:"col-md-8 border-start overflow-auto vh-100"},L={ref:"achievementForm",novalidate:"",class:"d-flex flex-column gap-4"},k={class:"row gy-3"},b={class:"col-md-6"},w={class:"col-md-6"},y={class:"row gy-3"},I={class:"col-md"},U=["value"],D={key:0,class:"col-md-6"},A={key:1,class:"col-md-6"},C={key:2,class:"col-md"},E={class:"col-md"},R={class:"row gy-3"},F={class:"col-md-6"},x={class:"table-responsive"},$={class:"table text-secondary"},O=["alt"],T={class:"col-md-6"},V={class:"table-responsive"},S={class:"table text-secondary"},P=["alt"],_={class:"form-label",for:"l10n-name"},M={class:"text-warning"},q={class:"form-label",for:"l10n-description"},z={class:"text-warning"};i(99921),i(47144),i(65337),i(8021),i(89542),i(61696),i(86873);
1var N=i(85114),X=i(79945);class J{constructor(e={}){this.id=e.id||(0,X.A)(),this.achievementID=e.achievementID,this.languageCode=e.languageCode,this.name=e.name||"",this.description=e.description||""}}var j=i(66141),W=i(43931),H=i(56380),Q=i(25381);const K={components:{InfiniteLoading:(0,a.$V)(()=>Promise.all([i.e(3900),i.e(1633)]).then(()=>i(84014))),AchievementCard:(0,a.$V)(()=>i.e(284).then(()=>i(90284))),ModalView:(0,a.$V)(()=>Promise.all([i.e(6318),i.e(5670)]).then(()=>i(38051))),SpinnerView:(0,a.$V)(()=>i.e(1626).then(()=>i(39245))),FileInput:(0,a.$V)(()=>Promise.all([i.e(2775),i.e(9312)]).then(()=>i(73283))),LocationCriteriaForm:(0,a.$V)(()=>Promise.all([i.e(3741),i.e(8696)]).then(()=>i(86315))),LocaleSelectorView:(0,a.$V)(()=>i.e(1222).then(()=>i(61222)))},mixins:[j.A,W.A],props:{id:{type:String,default:null}},data(){return{achievement:new N.A({}),achievements:[],totalAchievements:0,achievementL10ns:[],params:{limit:12},loading:{unlockedImage:!1,lockedImage:!1},selectedLocale:"zh_TW",supportLocales:this.getSupportLocales(),translateResult:{loading:!1,error:null},isEditMode:!1,criteriaMetrics:["totalDistance","totalElevationGain","totalCount","locations","achievements"]}},computed:{eventID(){return this.id?(0,Q.A7)(this.id):null},imageSizeRecommendation:()=>`600 x 600 | w/h = ${Math.roundPlaces(1,2)}`,selectedAchievementL10n(){return this.achievementL10ns.find(e=>e.languageCode===this.selectedLocale)},idString:{get(){return this.achievement.criteria.ids?this.achievement.criteria.ids.join(","):""},set(e){this.achievement.criteria.ids=e.split(",")}}},watch:{achievement:{handler(){switch(this.achievement.criteria.metric){case"achievements":delete this.achievement.criteria.value,delete this.achievement.criteria.location;break;case"locations":delete this.achievement.criteria.value,delete this.achievement.criteria.ids;break;default:delete this.achievement.criteria.location,delete this.achievement.criteria.ids}this.isDirty=!0},deep:!0}},created(){this.reset()},methods:{cancelEdit(){this.isEditMode=!1,this.reset()},updateAchievement(e){this.achievement=new N.A(e),this.edit(!1)},edit(e){e||!this.isDirty?(this.isEditMode=!0,this.isDirty=!1,this.fetchAchievementL10ns()):this.showUnsavedModal()},reset(){this.isEditMode=!1,this.achievement=new N.A({}),this.eventID&&(this.achievement.eventID=this.eventID),this.achievementL10ns=Object.keys(this.supportLocales).map(e=>new J({achievementID:this.achievement.id,languageCode:e})),this.isDirty=!1},onFileUploadError(e){this.$bus.emit("showToast",{result:!1,message:"["+e.status+"] "+e.message})},onFileUploaded(e,t){const i="unlocked"===e;this.deleteImage(i?this.achievement.imageURL:this.achievement.lockedImageURL);for(const e in t)Object.prototype.hasOwnProperty.call(t,e)&&t[e].length>0&&(i?this.achievement.imageURL=t[e][0]:this.achievement.lockedImageURL=t[e][0]);i?this.loading.unlockedImage=!1:this.loading.lockedImage=!1},deleteImage(e){if(!e||e.length<=0||!(0,Q.mv)(e))return;const t=e.split("/");return(0,Q.hd)(`/storage/achievements/${t[t.length-2]}/${t[t.length-1]}`,{method:"DELETE"}).catch(e=>{this.$bus.emit("showToast",{result:!1,message:"["+e.status+"] "+e.message})})},fetchAchievements(e){this.params.offset=this.achievements.length;const t=this.id?`/events/${this.id}/achievements`:`/achievements?${(0,Q.jw)(this.params)}`;(0,Q.hd)(t,{method:"GET",includeHeaders:!0}).then(({headers:t,body:i})=>{if(t.has("Content-Range")){const e=(0,H.parse)(t.get("Content-Range"));e&&(this.totalAchievements=e.size)}else this.id&&(this.totalAchievements=i.length);i.forEach(e=>{this.achievements.push(new N.A(e))}),this.achievements.length>=this.totalAchievements?e.complete():e.loaded()}).catch(()=>{e.error()})},fetchAchievementL10ns(){return(0,Q.hd)(`/achievements/${this.achievement.encodedID}/l10ns`,{method:"GET"}).then(e=>{e.forEach(e=>{const t=this.achievementL10ns.findIndex(t=>t.languageCode===e.languageCode),i=new J(e);t>=0?this.achievementL10ns[t]=i:this.achievementL10ns.push(i)})})},upsertAchievement(e){const t=this.achievementL10ns.reduce((e,t)=>(e.name=e.name&&""!==t.name,e.description=e.description&&""!==t.description,e),{name:!0,description:!0}
1);t.name?this.$refs.l10nNameInput.setCustomValidity(""):this.$refs.l10nNameInput.setCustomValidity("invalid"),t.description?this.$refs.l10nDescriptionInput.setCustomValidity(""):this.$refs.l10nDescriptionInput.setCustomValidity("invalid");const i=this.$refs.achievementForm;0!=i.checkValidity()?this.putAchievement(e.target):i.classList.add("was-validated")},putAchievement(e){"achievements"===this.achievement.criteria.metric?delete this.achievement.criteria.value:delete this.achievement.criteria.ids,(0,Q.hd)("/achievements",{method:"PUT",body:JSON.stringify([this.achievement])},e).then(e=>(e.forEach(e=>{const t=this.achievements.findIndex(t=>t.id===e.id),i=new N.A(e);t>=0?this.achievements[t]=i:this.achievements.unshift(i)}),(0,Q.hd)(`/achievements/${e[0].encodedID}/l10ns`,{method:"PUT",body:JSON.stringify(this.achievementL10ns)}))).then(()=>{this.reset(),this.$bus.emit("showToast",{result:!0})}).catch(e=>{this.$bus.emit("showToast",{result:!1,message:"["+e.status+"] "+e.message})})},showUnsavedModal(){this.$refs.unsavedModal.show()},updateLocationCriteria(e){e?(this.achievement.criteria.location||(this.achievement.criteria.location={}),this.achievement.criteria.location=Object.assign(this.achievement.criteria.location,e)):delete this.achievement.criteria.location},async translate(e){const t=this.achievementL10ns.find(t=>t.languageCode===e);if(t){this.translateResult={loading:!0,error:null};try{const i=await(0,Q.s7)({name:this.selectedAchievementL10n.name,description:this.selectedAchievementL10n.description},this.selectedLocale,e);t.name=i.name,t.description=i.description}catch(e){this.translateResult.error=e}finally{this.translateResult.loading=!1}}}}};const G=(0,i(1940).A)(K,[["render",function(e,t,i,N,X,J){const j=(0,a.g2)("achievement-card"),W=(0,a.g2)("infinite-loading"),H=(0,a.g2)("location-criteria-form"),Q=(0,a.g2)("file-input"),K=(0,a.g2)("spinner-view"),G=(0,a.g2)("locale-selector-view"),B=(0,a.g2)("modal-view"),Y=(0,a.gN)("lazy");return(0,a.uX)(),(0,a.CE)(a.FK,null,[(0,a.Lk)("div",n,[(0,a.Lk)("div",null,[J.eventID?((0,a.uX)(),(0,a.CE)("h2",s," Event ID: "+(0,a.v_)(J.eventID),1)):(0,a.Q3)("v-if",!0),t[15]||(t[15]=(0,a.Lk)("a",{href:"https://docs.google.com/spreadsheets/d/1CXvvE4A2xHAAjpS5U21EPaQ-pH7Im-Cw_q3tyd8p5BA/edit?usp=sharing",target:"_blank",rel:"noopener"},"Achievement Spreadsheet",-1))]),(0,a.Lk)("div",r,[(0,a.Lk)("button",{type:"button",class:"btn btn-success",onClick:t[0]||(t[0]=(...e)=>J.upsertAchievement&&J.upsertAchievement(...e))},(0,a.v_)(X.isEditMode?"更新":"建立"),1),X.isEditMode?((0,a.uX)(),(0,a.CE)("button",{key:0,type:"button",class:"btn btn-success",onClick:t[1]||(t[1]=(...e)=>J.cancelEdit&&J.cancelEdit(...e))}," 取消 ")):(0,a.Q3)("v-if",!0)])]),(0,a.Lk)("div",l,[(0,a.Lk)("div",o,[(0,a.bo)((0,a.Lk)("h4",{class:"text-warning"}," Total: "+(0,a.v_)(X.totalAchievements),513),[[a.aG,X.totalAchievements>0]]),((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(X.achievements,(e,i)=>((0,a.uX)(),(0,a.CE)("div",{key:i,class:"card mb-3"},[(0,a.Lk)("div",c,[(0,a.bF)(j,{achievement:X.achievements[i],"onUpdate:achievement":e=>X.achievements[i]=e,force:!0},null,8,["achievement","onUpdate:achievement"]),(0,a.Lk)("dl",d,[t[18]||(t[18]=(0,a.Lk)("dt",null,"ID",-1)),(0,a.Lk)("dd",null,(0,a.v_)(e.id),1),(0,a.Lk)("div",h,[(0,a.Lk)("div",m,[t[16]||(t[16]=(0,a.Lk)("dt",null,"Event ID",-1)),(0,a.Lk)("dd",null,(0,a.v_)(e.eventID),1)]),(0,a.Lk)("div",u,[t[17]||(t[17]=(0,a.Lk)("dt",null,"Criteria",-1)),(0,a.Lk)("dd",null,(0,a.v_)(e.criteria),1)])])]),(0,a.Lk)("div",v,[(0,a.Lk)("div",p,[(0,a.Lk)("button",{type:"button",class:(0,a.C4)(["btn",e.id===X.achievement.id?"btn-primary":"btn-success"]),onClick:t=>J.updateAchievement(e)}," 編輯 ",10,g)])])])]))),128)),(0,a.bF)(W,{target:"#achievement-list",load:J.fetchAchievements},(0,a.eX)({_:2},[X.totalAchievements<=0?{name:"complete",fn:(0,a.k6)(()=>[t[19]||(t[19]=(0,a.Lk)("div",{class:"text-center"},[(0,a.Lk)("h5",null,"No Achievements")],-1))]),key:"0"}:void 0]),1032,["load"])]),(0,a.Lk)("div",f,[(0,a.Lk)("form",L,[(0,a.Lk)("div",k,[(0,a.Lk)("div",b,[t[20]||(t[20]=(0,a.Lk)("label",{class:"form-label",for:"event-id"},"Event ID",-1)),(0,a.bo)((0,a.Lk)("input",{id:"event-id","onUpdate:modelValue":t[2]||(t[2]=e=>X.achievement.eventID=e),type:"text",class:"form-control",name:"event-id",required:""},null,512),[[a.Jo,X.achievement.eventID,void 0,{trim:!0}]])]),(0,a.Lk)("div",w,[t[21]||(t[21]=(0,a.Lk)("label",{class:"form-label",for:"note-url"},"Note URL",-1)),(0,a.bo)((0,a.Lk)("input",{id:"note-url","onUpdate:modelValue":t[3]||(t[3]=e=>X.achievement.noteURL=e),type:"url",class:"form-control",pattern:"https://.*",placeholder:"https://"},null,512),[[a.Jo,X.achievement.noteURL,void 0,{trim:!0}]]),t[22]||(t[22]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無效的 Note URL ",-1))])]),(0,a.Lk)("div",null,[t[33]||(t[33]=(0,a.Lk)("label",{class:"form-label",for:"criteria"},"Criteria",-1)),(0,a.Lk)("div",y,[(0,a.Lk)("div",I,[t[23]||(t[23]=(0,a.Lk)("label",null,"Metric",-1)),(0,a.bo)((0,a.Lk)("select",{"onUpdate:modelValue":t[4]||(t[4]=e=>X.achievement.criteria.metric=e),class:"form-control form-select",required:""},[((0,a.uX)(!0),(0,a.CE)(a.FK,null,(0,a.pI)(X.criteriaMetrics,e=>((0,a.uX)(),(0,a.CE)("option",{key:e,value:e},(0,a.v_)(e),9,U))),128))],512),[[a.u1,X.achievement.criteria.metric]]),t[24]||(t[24]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無 metric ",-1))]),"achievements"===X.achievement.criteria.metric?((0,a.uX)(),(0,a.CE)("div",D,[t[25]||(t[25]=(0,a.Lk)("label",null,"IDs",-1)),(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[5]||(t[5]=e=>J.idString=e),placeholder:"00000000-0000-0000-0000-000000000001",type:"text",class:"form-control",required:""},null,512),[[a.Jo,J.idString,void 0,{trim:!0}]]),t[26]||(t[26]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無 IDs ",-1))])):"locations"===X.achievement.criteria.metric?((0,a.uX)(),(0,a.CE)("div",A,[(0,a.bF)(H,{criteria:X.achievement.criteria.location,"onUpdate:criteria":J.updateLocationCriteria},null,8,["criteria","onUpdate:criteria"])])):((0,a.uX)(),(0,a.CE)("div",C,[t[27]||(t[27]=(0,a.Lk)("label",null,"Value",-1)),(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[6]||(t[6]=e=>X.achievement.criteria.value=e),placeholder:"criteria value",type:"number",class:"form-control",min:"0",required:""},null,512),[[a.Jo,X.achievement.criteria.value,void 0,{number:!0}]]),t[28]||(t[28]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無 value ",-1)),t[29]||(t[29]=(0,a.Lk)("div",{class:"form-text"}," 數值無小數點,故單位通常為小的常用單位,例如: 公尺、秒等。 ",-1))])),(0,a.Lk)("div",E,[t[30]||(t[30]=(0,a.Lk)("label",null,"Asc Order",-1)),(0,a.bo)((0,a.Lk)("input",{"onUpdate:modelValue":t[7]||(t[7]=e=>X.achievement.criteria.ascOrder=e),placeholder:"asc order",type:"number",class:"form-control",min:"1",required:""},null,512),[[a.Jo,X.achievement.criteria.ascOrder,void 0,{number:!0}]]),t[31]||(t[31]=(0,a.Lk)("div",{class:"form-text"},[(0,a.Lk)("ul",{class:"mb-0"},[(0,a.Lk)("li",null,"Order: Asc Order > Value > create time"),(0,a.Lk)("li",null,"Monthly leaderboard Asc Order 也代表著月份: 1 ->
1 一月")])],-1)),t[32]||(t[32]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無 asc order ",-1))])]),t[34]||(t[34]=(0,a.Lk)("div",{class:"form-text"},[(0,a.eW)(" 對應到此 event 的 leaderboard metrics: "),(0,a.Lk)("ul",null,[(0,a.Lk)("li",null," totalCount: 預設為合格的活動數量,若 metric 選擇 trailsCount,則會是合格活動所完成的路線數量。 ")])],-1))]),t[46]||(t[46]=(0,a.Lk)("div",{class:"alert alert-success"},[(0,a.eW)(" 上傳圖片前,請先使用 "),(0,a.Lk)("a",{href:"https://imageoptim.com/mac",target:"_blank",rel:"noopener"},"ImageOptim"),(0,a.eW)(" 壓縮圖片,以達到圖片最佳顯示效果 ")],-1)),(0,a.Lk)("div",R,[(0,a.Lk)("div",F,[t[37]||(t[37]=(0,a.Lk)("label",{class:"form-label"},"Unlocked 圖片",-1)),(0,a.Lk)("div",null,[(0,a.bF)(Q,{id:"image","compress-options":{quality:.4,maxWidth:600,maxHeight:600},"upload-api":`/storage/achievements/${X.achievement.encodedID.toLowerCase()}`,required:""===X.achievement.imageURL,onFileChange:t[8]||(t[8]=e=>X.loading.unlockedImage=!0),onFileUploaded:t[9]||(t[9]=e=>J.onFileUploaded("unlocked",e)),onFileUploadError:J.onFileUploadError},null,8,["upload-api","required","onFileUploadError"]),(0,a.Lk)("div",x,[(0,a.Lk)("table",$,[t[35]||(t[35]=(0,a.Lk)("thead",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("th",{scope:"col"}," 建議解析度 ")])],-1)),(0,a.Lk)("tbody",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("td",null,(0,a.v_)(J.imageSizeRecommendation),1)])])])]),t[36]||(t[36]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無 Unlocked 圖片 ",-1))]),(0,a.bF)(K,{loading:X.loading.unlockedImage},null,8,["loading"]),""!==X.achievement.imageURL?(0,a.bo)(((0,a.uX)(),(0,a.CE)("img",{key:0,width:"600",height:"600",class:"img-preview mt-3",alt:X.achievement.title},null,8,O)),[[Y,X.achievement.imageURL]]):(0,a.Q3)("v-if",!0)]),(0,a.Lk)("div",T,[t[40]||(t[40]=(0,a.Lk)("label",{class:"form-label"},"Locked 圖片",-1)),(0,a.Lk)("div",null,[(0,a.bF)(Q,{id:"image","compress-options":{quality:.4,maxWidth:600,maxHeight:600},"upload-api":`/storage/achievements/${X.achievement.encodedID.toLowerCase()}`,required:""===X.achievement.lockedImageURL,onFileChange:t[10]||(t[10]=e=>X.loading.lockedImage=!0),onFileUploaded:t[11]||(t[11]=e=>J.onFileUploaded("locked",e)),onFileUploadError:J.onFileUploadError},null,8,["upload-api","required","onFileUploadError"]),(0,a.Lk)("div",V,[(0,a.Lk)("table",S,[t[38]||(t[38]=(0,a.Lk)("thead",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("th",{scope:"col"}," 建議解析度 ")])],-1)),(0,a.Lk)("tbody",null,[(0,a.Lk)("tr",null,[(0,a.Lk)("td",null,(0,a.v_)(J.imageSizeRecommendation),1)])])])]),t[39]||(t[39]=(0,a.Lk)("div",{class:"invalid-feedback"}," 無 Locked 圖片 ",-1))]),(0,a.bF)(K,{loading:X.loading.lockedImage},null,8,["loading"]),""!==X.achievement.lockedImageURL?(0,a.bo)(((0,a.uX)(),(0,a.CE)("img",{key:0,width:"600",height:"600",class:"img-preview mt-3",alt:X.achievement.title},null,8,P)),[[Y,X.achievement.lockedImageURL]]):(0,a.Q3)("v-if",!0)])]),t[47]||(t[47]=(0,a.Lk)("hr",null,null,-1)),t[48]||(t[48]=(0,a.Lk)("h5",null,"L10n",-1)),(0,a.Lk)("div",null,[t[41]||(t[41]=(0,a.Lk)("label",{class:"form-label",for:"locale"},"Locale ",-1)),(0,a.bF)(G,{modelValue:X.selectedLocale,"onUpdate:modelValue":t[12]||(t[12]=e=>X.selectedLocale=e),result:X.translateResult,onTranslate:J.translate},null,8,["modelValue","result","onTranslate"])]),(0,a.Lk)("div",null,[(0,a.Lk)("label",_,[t[42]||(t[42]=(0,a.eW)("名稱 ",-1)),(0,a.Lk)("small",M,(0,a.v_)(J.selectedAchievementL10n.name.length)+" 字",1)]),(0,a.bo)((0,a.Lk)("input",{id:"l10n-name",ref:"l10nNameInput","onUpdate:modelValue":t[13]||(t[13]=e=>J.selectedAchievementL10n.name=e),placeholder:"名稱",type:"text",class:"form-control",required:""},null,512),[[a.Jo,J.selectedAchievementL10n.name,void 0,{trim:!0}]]),t[43]||(t[43]=(0,a.Lk)("div",{class:"invalid-feedback"}," 必須包含所有支援的語言 ",-1))]),(0,a.Lk)("div",null,[(0,a.Lk)("label",q,[t[44]||(t[44]=(0,a.eW)("描述 ",-1)),(0,a.Lk)("small",z,(0,a.v_)(J.selectedAchievementL10n.description.length)+" 字",1)]),(0,a.bo)((0,a.Lk)("textarea",{id:"l10n-description",ref:"l10nDescriptionInput","onUpdate:modelValue":t[14]||(t[14]=e=>J.selectedAchievementL10n.description=e),placeholder:"描述",type:"text",class:"form-control textarea-resize-none",rows:"2",required:""},null,512),[[a.Jo,J.selectedAchievementL10n.description,void 0,{trim:!0}]]),t[45]||(t[45]=(0,a.Lk)("div",{class:"invalid-feedback"}," 必須包含所有支援的語言 ",-1))])],512)])]),(0,a.bF)(B,{ref:"unsavedModal",title:"目前的成就尚未儲存,你確定要離開嗎?",buttons:[{title:"取消"},{title:"離開",click:()=>{J.edit(!0)}}]},null,8,["buttons"])],64)}],["__scopeId","data-v-83c785b0"]])},69786(e,t,i){var a=i(41175),n=i(82001),s=TypeError,r=Object.getOwnPropertyDescriptor,l=a&&!function(){if(void 0!==this)return!0;try{Object.defineProperty([],"length",{writable:!1}).length=1}catch(e){return e instanceof TypeError}}();e.exports=l?function(e,t){if(n(e)&&!r(e,"length").writable)throw new s("Cannot set read only .length");return e.length=t}:function(e,t){return e.length=t}},12504(e){var t=TypeError;e.exports=function(e){if(e>9007199254740991)throw new t("Maximum allowed index exceeded");return e}},99921(e,t,i){var a=i(11187),n=i(16674),s=i(95807),r=i(69786),l=i(12504);a({target:"Array",proto:!0,arity:1,forced:i(94892)(function(){return 4294967297!==[].push.call({length:4294967296},1)})||!function(){try{Object.defineProperty([],"length",{writable:!1}).push()}catch(e){return e instanceof TypeError}}()},{push:function(e){var t=n(this),i=s(t),a=arguments.length;l(i+a);for(var o=0;o<a;o++)t[i]=arguments[o],i++;return r(t,i),i}})},65337(e,t,i){var a=i(11187),n=i(65418),s=i(2711),r=i(66927),l=i(84464),o=i(49060),c=i(4090),d=i(47280)("find",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:d},{find:function(e){l(this);try{r(e)}catch(e){c(this,"throw",e)}if(d)return n(d,this,e);var t=o(this),i=0;return s(t,function(t,a){if(e(t,i++))return a(t)},{IS_RECORD:!0,INTERRUPTED:!0}).result}})},89542(e,t,i){var a=i(11187),n=i(65418),s=i(66927),r=i(84464),l=i(49060),o=i(95521),c=i(73666),d=i(4090),h=i(40909),m=i(47280),u=i(64400),v=!u&&!h("map",function(){}),p=!u&&!v&&m("map",TypeError),g=u||v||p,f=o(function(){var e=this.iterator,t=r(n(this.next,e));if(!(this.done=!!t.done))return c(e,this.mapper,[t.value,this.counter++],!0)});a({target:"Iterator",proto:!0,real:!0,forced:g},{map:function(e){r(this);try{s(e)}catch(e){d(this,"throw",e)}return p?n(p,this,e):new f(l(this),{mapper:e})}})},99686(e,t,i){var a=i(11187),n=i(65418),s=i(2711),r=i(66927),l=i(84464),o=i(49060),c=i(4090),d=i(47280)("some",TypeError);a({target:"Iterator",proto:!0,real:!0,forced:d},{some:function(e){l(this);try{r(e)}catch(e){c(this,"throw",e)}if(d)return n(d,this,e);var t=o(this),i=0;return s(t,function(t,a){if(e(t,i++))return a()},{IS_RECORD:!0,INTERRUPTED:!0}).stopped}})},79945(e,t,i){i.d(t,{A:()=>s});const a=new Uint8Array(16);var n=i(87083);const s=function(e,t,i){return t||e||!crypto.randomUUID?function(e,t,i){e=e||{};const s=e.random??e.rng?.()??crypto.getRandomValues(a);if(s.length<16)throw new Error("Random bytes length must be >= 16");if(s[6]=15&s[6]|64,s[8]=63&s[8]|128,t){if((i=i||0)<0||i+16>t.length)throw new RangeError(`UUID byte range ${i}:${i+15} is out of buffer bounds`);for(let e=0;e<16;++e)t[i+e]=s[e];return t}return(0,n.k)(s)}(e,t,i):crypto.randomUUID()}}}]);
2//# sourceMappingURL=2059.aed20ee1c90b56d89017.min.js.map

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.