UNPKG

@cpany/app

Version:
2 lines (1 loc) 2.41 kB
var v=Object.defineProperty;var g=(t,s,o)=>s in t?v(t,s,{enumerable:!0,configurable:!0,writable:!0,value:o}):t[s]=o;var _=(t,s,o)=>g(t,typeof s!="symbol"?s+"":s,o);import{V as w}from"./enum-BMqTPKYK.js";import{l as E}from"./load-Bav7-mWT.js";import{l as S,X as T,d as B,g as C,o as a,c as r,a as e,P as b,Q as y,i as c,t as d,S as k,h as F,w as R,k as D}from"./index-DQ3P2Jm7.js";const V={},$={history:V},m=E($),x=m.history;m.commits;const L=S(m.startTime);class A{constructor(){_(this,"submissions",new Map)}mergeSub(s,o){this.submissions.has(s)?this.submissions.get(s).push(o):this.submissions.set(s,[o])}list(){const s=[];for(const[o,n]of this.submissions)s.push({name:o,newSubmissions:n,newContests:[]});return s.sort((o,n)=>n.newSubmissions.length-o.newSubmissions.length)}}const l=new Map;for(const t of x.user??[])for(const s of t.newSubmissions){if(s.creationTime<m.startTime)continue;const o=T(s.creationTime).value;l.has(o)||l.set(o,new A),l.get(o).mergeSub(t.name,s)}const p=[...l.entries()].map(t=>({day:t[0],record:t[1]})).sort((t,s)=>s.day.localeCompare(t.day)).map(t=>({day:t.day.replace(/(\d+)-0?(\d+)-0?(\d+)/,"$1 年 $2 月 $3 日"),record:t.record})),N={class:"divide-y"},M=e("h2",{class:"mb-4"},"历史",-1),O={class:"py-4"},z={class:"pl-[8px] relative timeline"},H={class:"font-bold pb-2"},K={class:"mt-2"},P=e("span",null," 提交了 ",-1),Q={class:"font-bold"},W=e("span",null," 次代码,通过了 ",-1),X={class:"font-bold"},j=e("span",null," 个题目",-1),q={class:"mt-2 pt-4"},G={class:"text-gray-400"},Z=B({__name:"index",setup(t){const s=o=>o.filter(n=>n.verdict===w.OK);return(o,n)=>{const f=C("router-link");return a(),r("div",N,[M,e("div",O,[e("div",z,[(a(!0),r(b,null,y(c(p),(h,i)=>(a(),r("div",{key:h.day,class:"relative timeline-item pl-4"},[e("div",{class:"py-4 px-4 border rounded-md divide-y",style:k({borderTopWidth:i>0?0:void 0,borderTopLeftRadius:i>0?0:void 0,borderTopRightRadius:i>0?0:void 0,borderBottomLeftRadius:i+1<c(p).length?0:void 0,borderBottomRightRadius:i+1<c(p).length?0:void 0})},[e("div",H,d(h.day),1),e("div",null,[(a(!0),r(b,null,y(h.record.list(),u=>(a(),r("div",K,[F(f,{to:`/user/${u.name}`},{default:R(()=>[D(d(u.name),1)]),_:2},1032,["to"]),P,e("span",Q,d(u.newSubmissions.length),1),W,e("span",X,d(s(u.newSubmissions).length),1),j]))),256))])],4)]))),128))])]),e("div",q,[e("span",G,"最近开始于 "+d(c(L)),1)])])}}});export{Z as default};