PageSourceSearch

https://heroiq.ai/build/assets/Show-By86l1So.js

js heroiq.ai collected 2026-10-05 14:32:34 UTC 14,232 bytes, 1 lines download raw bytes

1import{a as q,q as E}from"./index-CcWlNz3x.js";import{f as R,a as T,h as G}from"./format-Bsnj9tCE.js";import{_ as Q}from"./DashboardLayout.vue_vue_type_script_setup_true_lang-DTPTxJ4I.js";import{b as K}from"./LandingFooter.vue_vue_type_script_setup_true_lang-hLSK39jx.js";import{d as U,G as W,H as X,c as o,a as p,u as r,h as O,w as C,b as e,n as S,o as i,f as g,t as l,g as D,e as f,j as J,I as Y,m as Z,l as ee,F as b,r as k,i as x,s as te}from"./app-DD4hifG2.js";import{T as ae}from"./trophy-qZAO2cxR.js";import{C as se}from"./circle-x-CWjdDOVX.js";import{S as V}from"./sparkles-hVBttvkM.js";import{C as j}from"./coins-CPX2Wl6_.js";import{C as le}from"./circle-alert-IhXgqCAy.js";import{F as ie}from"./flag-iF4MMTR1.js";import{c as ne}from"./createLucideIcon-BINA2S6I.js";import"./useForwardPropsEmits-C-yFgw_z.js";import"./utils-CYmhF7di.js";import"./index-BmnU90Mv.js";import"./useForwardExpose-CDBWbW1g.js";import"./index-5hIqk0xt.js";import"./AppLogo.vue_vue_type_script_setup_true_lang-Dwy8RLWu.js";const oe=ne("ExternalLinkIcon",[["path",{d:"M15 3h6v6",key:"1q9fwt"}],["path",{d:"M10 14 21 3",key:"gplh6r"}],["path",{d:"M18 13v6a2 2 0 0 1-2 2H5a2 2 0 0 1-2-2V8a2 2 0 0 1 2-2h6",key:"a6xqqp"}]]),d=(t,a)=>({url:d.url(t,a),method:"get"});d.definition={methods:["get","head"],url:"/matches/{match}"};d.url=(t,a)=>{(typeof t=="string"||typeof t=="number")&&(t={match:t}),Array.isArray(t)&&(t={match:t[0]}),t=q(t);const v={match:t.match};return d.definition.url.replace("{match}",v.match.toString()).replace(/\/+$/,"")+E(a)};d.get=(t,a)=>({url:d.url(t,a),method:"get"});d.head=(t,a)=>({url:d.url(t,a),method:"head"});const $=(t,a)=>({action:d.url(t,a),method:"get"});$.get=(t,a)=>({action:d.url(t,a),method:"get"});$.head=(t,a)=>({action:d.url(t,{[a?.mergeQuery?"mergeQuery":"query"]:{_method:"HEAD",...a?.query??a?.mergeQuery??{}}}),method:"get"});d.form=$;const u=(t,a)=>({url:u.url(t,a),method:"post"});u.definition={methods:["post"],url:"/matches/{match}/review"};u.url=(t,a)=>{(typeof t=="string"||typeof t=="number")&&(t={match:t}),Array.isArray(t)&&(t={match:t[0]}),t=q(t);const v={match:t.match};return u.definition.url.replace("{match}",v.match.toString()).replace(/\/+$/,"")+E(a)};u.post=(t,a)=>({url:u.url(t,a),method:"post"});const F=(t,a)=>({action:u.url(t,a),method:"post"});F.post=(t,a)=>({action:u.url(t,a),method:"post"});u.form=F;const re={show:d,generateReview:u},ce=["href"],de={class:"card relative mb-6 flex flex-col gap-6 overflow-hidden px-5 py-6 lg:mb-8 lg:flex-row lg:items-center lg:px-8 lg:py-7"},me={class:"relative flex items-center gap-4"},ue=["src","alt"],he={class:"flex flex-col gap-1"},pe={class:"text-[11px] tracking-wider text-white/55 uppercase"},xe={class:"font-sora text-[20px] font-semibold text-white lg:text-[24px]",style:{"letter-spacing":"0.02em"}},ge={class:"relative grid flex-1 grid-cols-2 gap-3 sm:grid-cols-4 lg:gap-5"},fe={class:"flex flex-col"},be={class:"font-sora text-[22px] font-semibold text-white tabular-nums lg:text-[26px]",style:{"letter-spacing":"0.02em"}},_e={class:"flex flex-col"},we={class:"font-sora text-[22px] font-semibold text-white tabular-nums lg:text-[26px]",style:{"letter-spacing":"0.02em"}},ve={class:"flex flex-col"},ye={class:"font-sora text-[22px] font-semibold text-white tabular-nums lg:text-[26px]",style:{"letter-spacing":"0.02em"}},ke={class:"flex flex-col"},Ce={class:"font-sora text-[22px] font-semibold text-white tabular-nums lg:text-[26px]",style:{"letter-spacing":"0.02em"}},Se={class:"flex flex-col items-start justify-between gap-3 lg:flex-row lg:items-center"},De={class:"flex items-center gap-2.5"},Ae={class:"inline-flex h-9 w-9 items-center justify-center rounded-md border border-[#00cab1]/30 bg-[#00cab1]/10"},Pe={class:"flex flex-col gap-0.5"},$e={key:0,class:"text-[11px] text-white/55"},Be={key:1,class:"text-[11px] text-white/55"},Me={key:0,class:"flex flex-col items-stretch gap-1.5 sm:items-end"},Re=["disabled"],Te={class:"inline-flex items-center gap-1.5 text-[11px] text-white/55"},Ve={class:"tabular-nums text-white/75"},je={key:0,class:"flex items-start gap-3 rounded-md border border-red-400/40 bg-red-400/10 px-4 py-3 text-[13px] text-white"},qe={key:1,class:"flex flex-col gap-3"},Ee={class:"flex items-center gap-2 text-[13px] text-white/65"},Fe={class:"font-sora text-[18px] font-semibold leading-tight text-white lg:text-[20px]",style:{"letter-spacing":"0.02em"}},Le={class:"grid gap-4 lg:grid-cols-2"},He={class:"flex flex-col gap-2"},Ie={class:"flex flex-col gap-1.5"},Ne={class:"flex flex-col gap-2"},ze={class:"flex flex-col gap-1.5"},Ge={class:"rounded-md border border-[#00cab1]/30 bg-[#00cab1]/8 px-4 py-3"},Qe={class:"mt-1 text-[14px] leading-[1.5] text-white"},Ke={class:"text-[11px] text-white/45"},Ue={key:3,class:"text-[13px] text-white/55"},We={class:"grid grid-cols-1 gap-5 lg:grid-cols-3"},Xe={class:"flex items-baseline justify-between"},Oe={class:"font-sora text-[15px] font-semibold text-white lg:text-[16
1px]",style:{"letter-spacing":"0.02em"}},Je={class:"text-[11px] tracking-wider text-white/45 uppercase"},Ye={class:"flex flex-col divide-y divide-[#00cab1]/8"},Ze={class:"text-white/65"},et={class:"font-sora text-[14px] tabular-nums text-white",style:{"letter-spacing":"0.02em"}},tt={key:0,class:"card mt-6 flex flex-col gap-4 px-5 py-6 lg:mt-8 lg:px-8 lg:py-7"},at={class:"flex items-center gap-2"},st={class:"flex flex-col gap-2"},lt={class:"flex min-w-0 flex-col gap-0.5"},it={class:"font-mono text-[12px] text-white/85"},nt={class:"text-[12px] text-white/55"},A=10,St=U({__name:"Show",props:{match:{},heroes:{}},setup(t){const a=t,v=te(),B=x(()=>v.props.tokens??0),L=x(()=>B.value>=A),y=x(()=>G(a.match.hero_id,a.heroes)),c=x(()=>a.match.mini_review),_=x(()=>c.value.data),{start:H,stop:I}=W(3e3,{only:["match"]},{autoStart:a.match.mini_review.status==="pending"});X(()=>a.match.mini_review.status,h=>{h==="pending"?H():I()});const M=x(()=>{switch(a.match.lane_role){case 1:return"Safe lane";case 2:return"Mid lane";case 3:return"Offlane";case 4:return"Jungle";case 5:return"Support";default:return"Unknown role"}}),N=x(()=>`https://www.opendota.com/matches/${a.match.match_id}`);function w(h){return h===null||h<=0?"—":T(h)}function m(h){return h===null?"—":h.toString()}const z=x(()=>[{key:"early",label:"Early game",sub:"0 – 10 min",rows:[{label:"CS @ 5",value:m(a.match.early_game.cs_at_5)},{label:"CS @ 10",value:m(a.match.early_game.cs_at_10)},{label:"Gold @ 10",value:m(a.match.early_game.gold_at_10)},{label:"XP @ 10",value:m(a.match.early_game.xp_at_10)},{label:"Deaths < 10",value:m(a.match.early_game.deaths_before_10)}]},{key:"mid",label:"Mid / late game",sub:"10 min onwards",rows:[{label:"Deaths 10–25",value:m(a.match.mid_late_game.deaths_10_to_25)},{label:"Deaths 25+",value:m(a.match.mid_late_game.deaths_after_25)},{label:"Buybacks",value:m(a.match.mid_late_game.buybacks)},{label:"Teamfight %",value:a.match.mid_late_game.teamfight_participation_pct!==null?a.match.mid_late_game.teamfight_participation_pct+"%":"—"},{label:"Damage share",value:a.match.mid_late_game.damage_share_pct!==null?a.match.mid_late_game.damage_share_pct+"%":"—"}]},{key:"items",label:"Item timings",sub:"Core windows",rows:[{label:"First core",value:w(a.match.items.first_core_item_at)},{label:"Second core",value:w(a.match.items.second_core_item_at)},{label:"Blink",value:w(a.match.items.blink_at)},{label:"BKB",value:w(a.match.items.bkb_at)},{label:"Aghs",value:w(a.match.items.aghs_at)},{label:"Travels",value:w(a.match.items.travels_at)}]}]);return(h,s)=>(i(),o(b,null,[p(r(O),{title:`Match ${t.match.match_id}`},null,8,["title"]),p(Q,{eyebrow:"Match detail",title:(y.value?.localized_name??`Hero #${t.match.hero_id}`)+(t.match.win?" · Victory":" · Defeat"),description:`${M.value} · ${r(T)(t.match.duration)} · ${r(R)(t.match.started_at)}`},{actions:C(()=>[e("a",{href:N.value,target:"_blank",rel:"noopener",class:"btn btn-ghost gap-2"},[p(r(oe),{class:"h-4 w-4"}),f(" #"+l(t.match.match_id),1)],8,ce)]),default:C(()=>[e("article",de,[e("div",{class:S(["radial-teal pointer-events-none absolute inset-0 opacity-50",t.match.win?"":"opacity-30"])},null,2),e("div",me,[y.value?(i(),o("img",{key:0,src:y.value.image_url,alt:y.value.localized_name,class:"h-16 w-28 shrink-0 rounded border border-[#00cab1]/30 object-cover"},null,8,ue)):g("",!0),e("div",he,[e("span",pe,l(M.value),1),e("span",xe,l(y.value?.localized_name??`Hero #${t.match.hero_id}`),1),e("span",{class:S(["inline-flex w-max items-center gap-1.5 rounded-md border px-2 py-0.5 text-[11px] font-medium tracking-wider uppercase",t.match.win?"border-[#00cab1]/50 bg-[#00cab1]/15 text-[#00cab1]":"border-red-400/40 bg-red-400/10 text-red-300"])},[t.match.win?(i(),D(r(ae),{key:0,class:"h-3 w-3"})):(i(),D(r(se),{key:1,class:"h-3 w-3"})),f(" "+l(t.match.win?"Victory":"Defeat"),1)],2)])]),e("div",ge,[e("div",fe,[s[0]||(s[0]=e("span",{class:"text-[11px] tracking-wider text-white/50 uppercase"},"K / D / A",-1)),e("span",be,l(t.match.kills)+"/"+l(t.match.deaths)+"/"+l(t.match.assists),1)]),e("div",_e,[s[1]||(s[1]=e("span",{class:"text-[11px] tracking-wider text-white/50 uppercase"},"GPM",-1)),e("span",we,l(m(t.match.match_level.gold_per_min)),1)]),e("div",ve,[s[2]||(s[2]=e("span",{class:"text-[11px] tracking-wider text-white/50 uppercase"},"XPM",-1)),e("span",ye,l(m(t.match.match_level.xp_per_min)),1)]),e("div",ke,[s[3]||(s[3]=e("span",{class:"text-[11px] tracking-wider text-white/50 uppercase"},"Net worth",-1)),e("span",Ce,l(m(t.match.match_level.net_worth)),1)])])]),e("article",{class:S(["card mb-6 flex flex-col gap-5 px-5 py-6 lg:mb-8 lg:px-8 lg:py-
17",c.value.status==="ready"?"card-highlight":""])},[e("header",Se,[e("div",De,[e("span",Ae,[p(r(V),{class:"h-4 w-4 text-[#00cab1]"})]),e("div",Pe,[s[4]||(s[4]=e("span",{class:"font-sora text-[16px] font-semibold text-white lg:text-[18px]",style:{"letter-spacing":"0.02em"}}," AI mini-review ",-1)),c.value.status==="ready"&&c.value.generated_at?(i(),o("span",$e,l(c.value.model)+" · "+l(r(R)(c.value.generated_at)),1)):c.value.status==="none"?(i(),o("span",Be," Per-match read on the cheap model — takes a few seconds. ")):g("",!0)])]),c.value.status!=="pending"?(i(),o("div",Me,[L.value?(i(),D(r(J),Y(Z({key:0},r(re).generateReview.form({match:t.match.match_id}))),{default:C(({processing:n})=>[e("button",{type:"submit",class:"btn btn-ghost gap-2",disabled:n},[p(r(V),{class:"h-3.5 w-3.5"}),f(" "+l(n?"Queuing…":c.value.status==="ready"?`Regenerate · ${A} tokens`:`Generate review · ${A} tokens`),1)],8,Re)]),_:1},16)):(i(),D(r(ee),{key:1,href:r(K)().url,class:"btn btn-ghost gap-2"},{default:C(()=>[p(r(j),{class:"h-3.5 w-3.5"}),f(" Top up to generate · "+l(A)+" tokens ")]),_:1},8,["href"])),e("span",Te,[p(r(j),{class:"h-3 w-3 text-[#00cab1]"}),s[5]||(s[5]=f(" Balance: ",-1)),e("span",Ve,l(B.value.toLocaleString("en-US")),1),s[6]||(s[6]=f(" tokens ",-1))])])):g("",!0)]),c.value.status==="failed"?(i(),o("div",je,[p(r(le),{class:"mt-0.5 h-4 w-4 shrink-0 text-red-300"}),e("span",null,l(c.value.error??"Review generation failed."),1)])):g("",!0),c.value.status==="pending"?(i(),o("div",qe,[e("p",Ee,[s[7]||(s[7]=e("span",{class:"inline-flex h-3.5 w-3.5 animate-spin rounded-full border-2 border-current border-t-transparent"},null,-1)),f(" Running on "+l(c.value.model??"mini-review model")+"… ",1)]),s[8]||(s[8]=e("div",{class:"h-3 w-3/4 animate-pulse rounded bg-white/8"},null,-1)),s[9]||(s[9]=e("div",{class:"h-3 w-full animate-pulse rounded bg-white/8"},null,-1)),s[10]||(s[10]=e("div",{class:"h-3 w-5/6 animate-pulse rounded bg-white/8"},null,-1))])):g("",!0),c.value.status==="ready"&&_.value?(i(),o(b,{key:2},[e("p",Fe,l(_.value.headline),1),e("div",Le,[e("div",He,[s[12]||(s[12]=e("span",{class:"text-[11px] tracking-wider text-[#00cab1] uppercase"},"Went well",-1)),e("ul",Ie,[(i(!0),o(b,null,k(_.value.went_well,n=>(i(),o("li",{key:n,class:"flex items-start gap-2 text-[13px] text-white/85"},[s[11]||(s[11]=e("span",{class:"mt-1.5 inline-flex h-1.5 w-1.5 shrink-0 rounded-full bg-[#00cab1]"},null,-1)),e("span",null,l(n),1)]))),128))])]),e("div",Ne,[s[14]||(s[14]=e("span",{class:"text-[11px] tracking-wider text-red-300 uppercase"},"Went wrong",-1)),e("ul",ze,[(i(!0),o(b,null,k(_.value.went_wrong,n=>(i(),o("li",{key:n,class:"flex items-start gap-2 text-[13px] text-white/85"},[s[13]||(s[13]=e("span",{class:"mt-1.5 inline-flex h-1.5 w-1.5 shrink-0 rounded-full bg-red-300"},null,-1)),e("span",null,l(n),1)]))),128))])])]),e("div",Ge,[s[15]||(s[15]=e("span",{class:"text-[11px] tracking-wider text-[#00cab1] uppercase"},"Key lesson",-1)),e("p",Qe,l(_.value.key_lesson),1)]),e("p",Ke," Confidence "+l(Math.round(_.value.confidence*100))+"% ",1)],64)):c.value.status==="none"?(i(),o("p",Ue,' Hit "Generate review" — typically 5-10 seconds. ')):g("",!0)],2),e("section",We,[(i(!0),o(b,null,k(z.value,n=>(i(),o("article",{key:n.key,class:"card flex flex-col gap-4 px-5 py-6 lg:px-6 lg:py-7"},[e("header",Xe,[e("h3",Oe,l(n.label),1),e("span",Je,l(n.sub),1)]),e("ul",Ye,[(i(!0),o(b,null,k(n.rows,P=>(i(),o("li",{key:P.label,class:"flex items-center justify-between py-2 text-[13px]"},[e("span",Ze,l(P.label),1),e("span",et,l(P.value),1)]))),128))])]))),128))]),t.match.flags.length?(i(),o("article",tt,[e("header",at,[p(r(ie),{class:"h-4 w-4 text-[#00cab1]"}),s[16]||(s[16]=e("h3",{class:"font-sora text-[16px] font-semibold text-white lg:text-[18px]",style:{"letter-spacing":"0.02em"}}," Pattern flags ",-1)),s[17]||(s[17]=e("span",{class:"text-[12px] text-white/45"},"Rule-based findings",-1))]),e("ul",st,[(i(!0),o(b,null,k(t.match.flags,n=>(i(),o("li",{key:n.flag+n.evidence,class:"flex flex-col gap-1.5 rounded-md border border-[#00cab1]/10 bg-[#01221f]/50 px-4 py-3 lg:flex-row lg:items-center lg:justify-between"},[e("div",lt,[e("span",it,l(n.flag),1),e("span",nt,l(n.evidence),1)]),e("span",{class:S(["inline-flex w-max items-center rounded-md border px-2 py-0.5 text-[11px] font-medium tracking-wider up
1percase",n.severity==="high"?"border-red-400/40 bg-red-400/10 text-red-300":n.severity==="medium"?"border-yellow-300/40 bg-yellow-300/10 text-yellow-300":"border-[#00cab1]/30 bg-[#00cab1]/8 text-[#00cab1]"])},l(n.severity),3)]))),128))])])):g("",!0)]),_:1},8,["title","description"])],64))}});export{St 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.