1import{a as Oe,b as F}from"./chunk-DFBGMS55.js";import{a as Pe,b as ke}from"./chunk-B4BH4OO3.js";import{a as ge}from"./chunk-WWRGTRLX.js";import{a as fe}from"./chunk-PZVM5HTX.js";import"./chunk-RZKL6PMA.js";import{a as he}from"./chunk-O24QLLU7.js";import"./chunk-S7W2EFTR.js";import{a as Me}from"./chunk-NFJ5TPO2.js";import{a as Se}from"./chunk-7UCBA2YE.js";import{a as Ce,b as D,c as U,d as $,f as ye,g as be,l as we}from"./chunk-SWXIDMM5.js";import{b as le}from"./chunk-GYO7SOMF.js";import{a as me}from"./chunk-VV6CYDIV.js";import"./chunk-VOSOMEW7.js";import{h as ce,l as B,p as de,x as pe}from"./chunk-7LPRAHKW.js";import{l as _e}from"./chunk-5WDKEZ3F.js";import{a as ve}from"./chunk-7T5CWR5V.js";import{a as xe}from"./chunk-H7XX6ZAU.js";import"./chunk-GXWMBDUJ.js";import"./chunk-JLCVM3S7.js";import{a as q}from"./chunk-PYWGPOJF.js";import{a as se}from"./chunk-OGDNTR77.js";import"./chunk-PZR3RCRF.js";import{a as ue}from"./chunk-7BOAACRU.js";import{b as I}from"./chunk-QIYTNJHI.js";import"./chunk-FAYBXVHS.js";import{$a as b,A as H,Da as V,Ha as y,Kb as d,La as ee,Ma as p,Oa as k,P as M,Pa as te,Qa as ie,Ra as _,Ta as ne,Ua as E,V as x,Va as L,W as C,Wa as s,Xa as l,Ya as v,a as w,aa as K,b as T,bb as m,cb as c,da as X,e as Q,ea as Z,ga as P,h as Y,nb as u,nc as oe,ob as A,pa as N,pb as O,pc as re,qb as j,qc as ae,ta as a,y as R}from"./chunk-RDSAWXZO.js";function je(i,e){if(i&1){let t=b();s(0,"img",21),m("error",function(){x(t);let o=c();return C(o.onHomeLogoError())}),l()}if(i&2){let t=c();p("src",e,N)("alt",t.homeName())}}function Ie(i,e){i&1&&v(0,"app-icon",7),i&2&&p("size",18)}function Fe(i,e){if(i&1&&(s(0,"span",23),u(1),l()),i&2){let t=c(2);a(),j("Pens ",t.homePens(),"\u2013",t.awayPens(),"")}}function ze(i,e){if(i&1&&(s(0,"span",8)(1,"span",22),u(2),l(),y(3,Fe,2,2,"span",23),l()),i&2){let t=c();a(2),j("",t.homeGoals(),"\u2013",t.awayGoals(),""),a(),_(t.hasPenalties()?3:-1)}}function Re(i,e){i&1&&(s(0,"span",9),u(1,"VS"),l())}function Ne(i,e){if(i&1){let t=b();s(0,"img",21),m("error",function(){x(t);let o=c();return C(o.onAwayLogoError())}),l()}if(i&2){let t=c();p("src",e,N)("alt",t.awayName())}}function qe(i,e){i&1&&v(0,"app-icon",7),i&2&&p("size",18)}function Be(i,e){if(i&1&&(s(0,"span",15),v(1,"app-icon",24),s(2,"span"),u(3),l()()),i&2){let t=c();a(),p("size",12),a(2),A(t.dateStadium())}}function Ue(i,e){if(i&1&&(s(0,"span",25),v(1,"app-icon",26),u(2),l()),i&2){let t=c();k("danger",t.resumeDanger()),a(),p("size",13),a(),O(" ",t.resumeLabel()," ")}}function $e(i,e){if(i&1&&(s(0,"span",18)(1,"b"),u(2),l(),s(3,"small"),u(4,"you earn"),l()()),i&2){let t=e;a(2),j("",t.sign,"",t.amount,"")}}function Je(i,e){if(i&1){let t=b();s(0,"button",27),m("click",function(o){x(t);let r=c();return C(r.onDeleteClick(o))}),v(1,"app-icon",28),l()}i&2&&(a(),p("size",14))}var z=class i{data=Z(null);deleted=X();_util=M(le);statusInfo=d(()=>{let e=this.data()?.status??"draft";return{key:e,label:F[e]}});isDraft=d(()=>this.data()?.status==="draft");isRevision=d(()=>this.data()?.status==="revision");isRejected=d(()=>this.data()?.status==="rejected");cardClass=d(()=>{let e=this.data()?.status;return e==="draft"?"card draft-card":e==="revision"?"card rev-card":e==="rejected"?"card rej-card":"card"});resumeLabel=d(()=>{let e=this.data()?.status;return e==="draft"?"Continue setup":e==="revision"?"Edit & resubmit":e==="rejected"?"See reason":null});resumeDanger=d(()=>this.data()?.status==="rejected");competition=d(()=>{let e=this.data()?.fixture;return this._util.str(ye(e))||this._util.str(be(e))||null});isType1=d(()=>this.data()?.is_manual===!1);homeName=d(()=>{let e=this.data();return e?this._util.getTeamName(D(e.fixture,"home"),this.isType1()):""});awayName=d(()=>{let e=this.data();return e?this._util.getTeamName(D(e.fixture,"away"),this.isType1()):""});homeLogo=d(()=>D(this.data()?.fixture,"home").logo??null);awayLogo=d(()=>D(this.data()?.fixture,"away").logo??null);_homeLogoError=P(null);_awayLogoError=P(null);homeLogoSrc=d(()=>{let e=this.homeLogo();return e&&this._homeLogoError()===e?null:e});awayLogoSrc=d(()=>{let e=this.awayLogo();return e&&this._awayLogoError()===e?null:e});onHomeLogoError(){let e=this.homeLogo();
1e&&this._homeLogoError.set(e)}onAwayLogoError(){let e=this.awayLogo();e&&this._awayLogoError.set(e)}homeGoals=d(()=>U(this.data()?.fixture,"home"));awayGoals=d(()=>U(this.data()?.fixture,"away"));hasScore=d(()=>this.homeGoals()!==null&&this.awayGoals()!==null);homePens=d(()=>$(this.data()?.fixture,"home"));awayPens=d(()=>$(this.data()?.fixture,"away"));hasPenalties=d(()=>this.hasScore()&&((this.homePens()??0)>0||(this.awayPens()??0)>0));dateStadium=d(()=>{let e=this.data()?.fixture,t=(e?.date??"").slice(0,10),n=Ce(e?.date)??"",o=we(e)?.name??"";return[[t,n].filter(Boolean).join(" "),o].filter(Boolean).join(" \xB7 ")});priceDisplay=d(()=>{let e=this.data();return e?.price?{amount:e.price,sign:e.currency?.abb??"$"}:null});onDeleteClick(e){e.stopPropagation(),this.deleted.emit()}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=V({type:i,selectors:[["app-match-card"]],hostAttrs:[1,"match-card-host"],inputs:{data:[1,"data"]},outputs:{deleted:"deleted"},decls:30,vars:19,consts:[[1,"ac-top"],[1,"ac-comp"],[1,"pip"],[1,"ac-badge","mono"],[1,"ac-body"],[1,"crest","h-crest"],[1,"logo-img",3,"src","alt"],["name","shield",1,"logo-fallback",3,"size"],[1,"score-wrap"],[1,"vs"],[1,"crest","a-crest"],[1,"tn","h-tn",3,"title"],[1,"tn","a-tn",3,"title"],[1,"ac-foot"],[1,"ac-meta"],[1,"mt"],[1,"resume",3,"danger"],[1,"foot-right"],[1,"ac-price"],["type","button","aria-label","Delete draft","title","Delete draft",1,"del-btn"],[1,"d"],[1,"logo-img",3,"error","src","alt"],[1,"score"],[1,"pens"],["name","calendar",3,"size"],[1,"resume"],["name","arrow-right",3,"size"],["type","button","aria-label","Delete draft","title","Delete draft",1,"del-btn",3,"click"],["name","trash",3,"size"]],template:function(t,n){if(t&1&&(s(0,"article")(1,"div",0)(2,"span",1),v(3,"span",2),u(4),l(),s(5,"span",3),u(6),l()(),s(7,"div",4)(8,"div",5),y(9,je,1,2,"img",6)(10,Ie,1,1,"app-icon",7),l(),y(11,ze,4,3,"span",8)(12,Re,2,0,"span",9),s(13,"div",10),y(14,Ne,1,2,"img",6)(15,qe,1,1,"app-icon",7),l(),s(16,"div",11),u(17),l(),s(18,"div",12),u(19),l()(),s(20,"div",13)(21,"div",14),y(22,Be,4,2,"span",15)(23,Ue,3,4,"span",16),l(),s(24,"div",17),y(25,$e,5,2,"span",18)(26,Je,2,1,"button",19),s(27,"span"),v(28,"span",20),u(29),l()()()()),t&2){let o,r,g,f;te(n.cardClass()),a(4),O(" ",(o=n.competition())!==null&&o!==void 0?o:"\u2014"," "),a(2),O(" ",n.isDraft()?"Draft":""," "),a(3),_((r=n.homeLogoSrc())?9:10,r),a(2),_(n.hasScore()?11:12),a(3),_((g=n.awayLogoSrc())?14:15,g),a(2),p("title",n.homeName()),a(),A(n.homeName()),a(),p("title",n.awayName()),a(),A(n.awayName()),a(3),_(n.dateStadium()?22:-1),a(),_(n.resumeLabel()?23:-1),a(2),_((f=n.priceDisplay())?25:-1,f),a(),_(n.isDraft()?26:-1),a(),ie("tag ",n.statusInfo().key," sm"),a(2),O("",n.statusInfo().label," ")}},dependencies:[I],styles:['@charset "UTF-8";.match-card-host[_nghost-%COMP%]{display:block;height:100%;min-width:0}.card[_ngcontent-%COMP%]{height:100%;display:flex;flex-direction:column;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-lg);overflow:hidden;cursor:pointer;transition:border-color .15s,transform .15s;box-shadow:var(--shadow)}.card[_ngcontent-%COMP%]:hover{border-color:var(--border-strong);transform:translateY(-1px)}.card[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.rev-card[_ngcontent-%COMP%]{border-color:#ff8a3d59}.draft-card[_ngcontent-%COMP%] .ac-foot[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--st-draft-bg),var(--surface-2) 70%)}.rev-card[_ngcontent-%COMP%] .ac-foot[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--st-revision-bg),var(--surface-2) 70%)}.rej-card[_ngcontent-%COMP%] .ac-foot[_ngcontent-%COMP%]{background:linear-gradient(90deg,var(--st-rejected-bg),var(--surface-2) 72%)}.ac-top[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;padding:9px 14px;border-bottom:1px solid var(--border);font-size:10.5px;color:var(--text-faint);font-family:JetBrains Mono,monospace;gap:10px}.ac-comp[_ngcontent-%COMP%]{display:flex;align-items:center;gap:7px;min-width:0;overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.pip[_ngcontent-%COMP%]{width:6px;height:6px;border-radius:2px;background:var(--accent);flex-shrink:0}.ac-badge[_ngcontent-%COMP%]{flex-shrink:0}.mono[_ngcontent-%COMP%]{font-family:JetBrains Mono,monospace}.ac-body[_ngcontent-%COMP%]{display:grid;grid-template-columns:130px auto 130px;grid-template-rows:auto auto;align-items:start;justify-content:center;gap:10px 6px;padding:18px 14px 14px;flex:1}.crest[_ngcontent-%COMP%]{grid-row:1;width:46px;height:46px;
1display:flex;align-items:center;justify-content:center;flex-shrink:0}.h-crest[_ngcontent-%COMP%]{grid-column:1;justify-self:center}.a-crest[_ngcontent-%COMP%]{grid-column:3;justify-self:center}.logo-img[_ngcontent-%COMP%]{width:100%;height:100%;object-fit:contain}.logo-fallback[_ngcontent-%COMP%]{width:100%;height:100%;border-radius:50%;border:1px solid var(--border-strong);background:var(--surface-2);color:var(--text-faint)}.vs[_ngcontent-%COMP%]{grid-row:1;grid-column:2;align-self:center;font-size:11px;font-weight:800;color:var(--text-faint);font-family:JetBrains Mono,monospace}.tn[_ngcontent-%COMP%]{grid-row:2;align-self:start;font-size:12.5px;font-weight:700;line-height:1.15;width:130px;max-width:100%;min-width:0;display:-webkit-box;-webkit-line-clamp:2;-webkit-box-orient:vertical;overflow:hidden;color:var(--text);word-break:break-word}.h-tn[_ngcontent-%COMP%]{grid-column:1;justify-self:center;text-align:center}.a-tn[_ngcontent-%COMP%]{grid-column:3;justify-self:center;text-align:center}.score-wrap[_ngcontent-%COMP%]{grid-row:1;grid-column:2;display:flex;flex-direction:column;align-items:center;justify-self:center;align-self:center}.score[_ngcontent-%COMP%]{font-size:24px;font-weight:900;letter-spacing:-.03em;font-family:JetBrains Mono,monospace;line-height:1;color:var(--text);white-space:nowrap}.pens[_ngcontent-%COMP%]{margin-top:2px;font-size:8.5px;font-weight:800;color:var(--accent);font-family:JetBrains Mono,monospace;text-transform:uppercase;letter-spacing:.04em;white-space:nowrap}.score-spacer[_ngcontent-%COMP%]{display:none}.ac-foot[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:11px 14px;border-top:1px solid var(--border);background:var(--surface-2)}.ac-meta[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:4px;min-width:0;flex:1}.mt[_ngcontent-%COMP%]{font-size:11.5px;font-weight:600;color:var(--text-muted);display:flex;align-items:center;gap:6px;min-width:0}.mt[_ngcontent-%COMP%] span[_ngcontent-%COMP%]{overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.mt[_ngcontent-%COMP%] app-icon[_ngcontent-%COMP%]{color:var(--text-faint);flex-shrink:0}.resume[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:5px;font-size:11px;font-weight:700;color:var(--accent)}.resume.danger[_ngcontent-%COMP%]{color:var(--st-rejected)}.foot-right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex-shrink:0}.ac-price[_ngcontent-%COMP%]{display:inline-flex;flex-direction:column;align-items:flex-end;line-height:1.1}.ac-price[_ngcontent-%COMP%] b[_ngcontent-%COMP%]{font-size:14px;font-weight:900;font-family:JetBrains Mono,monospace;color:var(--accent)}.ac-price[_ngcontent-%COMP%] small[_ngcontent-%COMP%]{font-size:8px;font-weight:800;text-transform:uppercase;letter-spacing:.06em;color:var(--text-faint);margin-top:2px}.del-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;width:28px;height:28px;border-radius:8px;border:1px solid rgba(255,92,92,.35);background:transparent;color:var(--st-rejected);cursor:pointer;flex-shrink:0;transition:background .15s,border-color .15s}.del-btn[_ngcontent-%COMP%]:hover{background:#ff5c5c1f;border-color:#ff5c5c99}.del-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--st-rejected);outline-offset:2px}'],changeDetection:0})};var Ae=(i,e)=>e.label,We=(i,e)=>e.id;function Ge(i,e){if(i&1){let t=b();s(0,"button",30),m("click",function(){x(t);let o=c(2);return C(o.clearSearchText())}),v(1,"app-icon",31),l()}i&2&&(a(),p("size",11))}function Qe(i,e){if(i&1){let t=b();s(0,"div",8),v(1,"app-icon",27),s(2,"input",28),m("input",function(o){x(t);let r=c();return C(r.onSearchInput(o))})("keydown.escape",function(){x(t);let o=c();return C(o.toggleSearch())}),l(),y(3,Ge,2,1,"button",29),l()}if(i&2){let t=c();a(),p("size",15),a(),p("value",t.searchQuery()),a(),_(t.searchQuery()?3:-1)}}function Ye(i,e){if(i&1&&(s(0,"span",13),u(1),l()),i&2){let t=c();a(),A(t.filterBadgeCount())}}function He(i,e){i&1&&(s(0,"span",33),u(1,"Soon"),l())}function Ke(i,e){if(i&1){let t=b();s(0,"button",32),m("click",function(){let o=x(t),r=o.$implicit,g=o.$index,f=c();return C(!r.disabled&&f.selectedService.set(g))}),u(1),y(2,He,2,0,"span",33),l()}if(i&2){let t=e.$implicit,n=e.$index,o=c();k("active",o.selectedService()===n)("disabled",t.disabled),p("title",t.disabled?t.label+" \u2014 coming soon":t.label),ee("disabled",t.disabled?!0:null),a(),O(" ",t.label," "),a(),_(t.disabled?2:-1)}}function Xe(i,e){if(i&1){let t=b();s(0,"app-chip",36),m("removed",function(){let o=x(t).$implicit,r=c(2);return C(r.removeFilter(o.key,o.value))}),l()}if(i&2){let t=e.$implicit;p("label",t.label)("selected",!0)("removable",!0)}}function Ze(i,e){if(i&1){let t=b();s(0,"div",21),E(1,Xe,1,3,"app-chip",34,Ae),s(3,"button",35),m("click",function(){x(t);let o=c();return C(o.clearFilters())}),u(4,"Clear all"),l()()}if(i&2){let t=c();a(),L(t.filterChips())}}function et(i,e){i&1&&v(0,"app-skeleton-match-card")}function tt(i,e){if(i&1&&(s(0,"div",37),E(1,et,1,0,"app-skeleton-match-card",null,ne),l()),i&2){let t=c();
1k("list-mode",t.viewMode()==="list"),a(),L(t.skeletons)}}function it(i,e){if(i&1){let t=b();s(0,"app-error-state",38),m("retry",function(){x(t);let o=c();return C(o.onRetry())}),l()}}function nt(i,e){i&1&&(s(0,"app-empty-state",25)(1,"app-button",39),u(2," New activity "),l()())}function ot(i,e){if(i&1){let t=b();s(0,"app-button",41),m("click",function(){x(t);let o=c(2);return C(o.clearSearchAndFilters())}),u(1," Clear search & filters "),l()}}function rt(i,e){if(i&1&&(s(0,"app-empty-state",26),y(1,ot,2,0,"app-button",40),l()),i&2){let t=c();a(),_(t.searchQuery()||t.filterBadgeCount()>0?1:-1)}}function at(i,e){if(i&1){let t=b();s(0,"app-match-card",44),m("deleted",function(){let o=x(t).$implicit,r=c(2);return C(r.onDeleteActivity(o))})("click",function(){let o=x(t).$implicit,r=c(2);return C(r.onActivityClick(o))}),l()}if(i&2){let t=e.$implicit;p("data",t)}}function st(i,e){if(i&1){let t=b();s(0,"div",43)(1,"app-pagination",45),m("pageChange",function(o){x(t);let r=c(2);return C(r.onPageChange(o))}),l()()}if(i&2){let t=c(2);a(),p("currentPage",t.svc.pagination().currentPage)("totalPages",t.svc.pagination().totalPages)}}function lt(i,e){if(i&1&&(s(0,"div",37),E(1,at,1,1,"app-match-card",42,We),l(),y(3,st,2,2,"div",43)),i&2){let t=c();k("list-mode",t.viewMode()==="list"),a(),L(t.svc.activities()),a(2),_(t.svc.pagination().totalPages>1?3:-1)}}var S="",Te=class i{svc=M(fe);_router=M(re);_route=M(oe);_dialogService=M(_e);_toastService=M(se);_destroyRef=M(K);_searchSubject=new Y;sortCtrl=new B("CREATED_AT_DESC");statusCtrl=new B([S]);sortOptions=[{id:"CREATED_AT_ASC",label:"Date (oldest first)"},{id:"CREATED_AT_DESC",label:"Date (newest first)"}];statusOptions=[{id:S,label:"All statuses"},...Oe.map(e=>({id:e,label:F[e]}))];_prevStatusIds=[S];serviceChips=[{label:"Video providing",disabled:!1},{label:"Video editing",disabled:!0},{label:"Match recording",disabled:!0},{label:"Video tagging",disabled:!0}];selectedService=P(0);searchVisible=P(!1);searchQuery=P("");static VIEW_MODE_KEY="activities-view-mode";viewMode=P(localStorage.getItem(i.VIEW_MODE_KEY)||"grid");setViewMode(e){this.viewMode.set(e),localStorage.setItem(i.VIEW_MODE_KEY,e)}previousFilterData=P({});skeletons=Array.from({length:6},(e,t)=>t);filterChips=d(()=>{let e=this.previousFilterData(),t={competition:"Competition",team:"Team",stadium:"Stadium",start_date:"Match from",end_date:"Match to",provided_on_from:"Submitted from",provided_on_to:"Submitted to"},n=[];for(let[o,r]of Object.entries(e)){let g=t[o]??o;if(Array.isArray(r))for(let f of r)n.push({key:o,value:f,label:`${g}: ${f&&typeof f=="object"?f.name:f}`});else n.push({key:o,label:`${g}: ${typeof r=="object"&&r!==null?r.name:r}`})}return n});filterBadgeCount=d(()=>Object.keys(this.previousFilterData()).length);isEmpty=d(()=>!this.svc.loading()&&this.svc.activities().length===0);isNewUser=d(()=>this.isEmpty()&&this.filterBadgeCount()===0&&!this._route.snapshot.queryParams.query);constructor(){this._searchSubject.pipe(R(400),H(),q(this._destroyRef)).subscribe(e=>this._navigateWith({query:e||null,page:1})),this._route.queryParamMap.pipe(R(50),q(this._destroyRef)).subscribe(e=>{let t=+(e.get("page")||1),n=e.get("status")??"",o=e.get("sort_by")??"CREATED_AT_DESC",r=e.get("query")??"",g={},f=["competition","team","stadium","start_date","end_date","provided_on_from","provided_on_to"];for(let h of f){let G=e.get(h);G&&(g[h]=this._parseMaybeJson(G))}this.previousFilterData.set(g);let J=this.sortOptions.find(h=>h.id===o)??this.sortOptions[1],Ee=n?[...new Set(n.split(",").map(h=>xe(h.trim())))]:[S],W=this.statusOptions.filter(h=>Ee.includes(String(h.id)));this.sortCtrl.setValue(J.id,{emitEvent:!1}),this._prevStatusIds=W.map(h=>String(h.id)),this.statusCtrl.setValue(this._prevStatusIds,{emitEvent:!1}),this.searchQuery.set(r),r&&this.searchVisible.set(!0),this.svc.pagination.update(h=>T(w({},h),{currentPage:t,offset:(t-1)*h.limit}));let Le=W.map(h=>String(h.id)).filter(h=>h!==S);this.svc.setFilters(T(w({sort_by:J.id||"",status:Le,query:r},this._flattenFiltersForApi(g)),{limit:this.svc.pagination().limit,offset:this.svc.pagination().offset})),this.svc.loadActivities()})}onBack(){this._router.navigate(["/dashboard"])}onSortSelected(e){this._navigateWith({sort_by:e?.id||null,page:1})}onStatusSelected(e){let t=e.map(g=>String(g.id)),n=t.filter(g=>!this._prevStatusIds.includes(g)),o;n.includes(S)?o=[S]:t.includes(S)&&t.length>1?o=t.filter(g=>g!==S):o=t,this._prevStatusIds=o,this.statusCtrl.setValue(o,{emitEvent:!1});let r=o.length===1&&o[0]===S;this._navigateWith({status:o.length&&!r?o.join(","):null,page:1})}toggleSearch(){this.searchVisible.update(e=>!e),this.searchVisible()||(this.searchQuery.set(""),this._navigateWith({query:null,page:1}))}onSearchInput(e){this._searchSubject.next(e.target.value)}clearSearchText(){this.searchQuery.set(""),this._searchSubject.next("")}openFilterDialog(){this._dialogService.open(Pe,{initialData:this.previousFilterData()}).then(e=>{e&&this._applyFilters(e)})}removeFilter(e,t){let n=w({},this.previousFilterData()),o=n[e],r;Array.isArray(o)&&t!==void 0?(r=o.filter(f=>(f&&typeof f=="object"?f.id:f)!==(t&&typeof t=="object"?t.id:t)),r.length?n[e]=r:delete n[e]):delete n[e],this.previousFilterData.set(n);let g=T(w({},this._route.snapshot.queryParams),{page:1});g[e]=r?.length?encodeURIComponent(JSON.stringify(r)):void 0,this._router.navigate([],{relativeTo:this._route,queryParams:g,queryParamsHandling:"merge"})}clearFilters(){this.previousFilterData.set({});let e=T(w({},this._route.snapshot.queryParams),{page:1});for(let t of["competition","team","stadium","start_date","end_date","provided_on_from","provided_on_to"])delete e[t];this._router.navigate([],{relativeTo:this._route,queryParams:e})}clearSearchAndFilters(){this.searchVisible.set(!1),this.searchQuery.set(""),this.previousFilterData.set({});let e=T(w({},this._route.snapshot.queryParams),{page:1,query:null});for(let t of["competition","team","stadium","start_date","end_date","provided_on_from","provided_on_to"])delete e[t];this._router.navigate([],{relativeTo:this._route,queryParams:e})}onActivityClick(e){this.svc.rememberReturnUrl();let t=e.status;t==="draft"?this._router.navigate(["/activities/wizard",e.id,"publish"]):t==="revision"?this._router.navigate(["/activities/wizard",e.id,"match-setup"]):this._router.navigate(["/activities",e.id])}onDeleteActivity(e){return Q(this,null,function*(){(yield this._dialogService.open(ge,{title:"Delete draft?",message:"This action cannot be undone. The draft activity will be permanently deleted."}))&&this.svc.deleteActivity(e.id).subscribe({next:()=>{this._toastService.show({type:"success",title:"Draft deleted"}),this.svc.loadActivities()},error:()=>{this._toastService.show({type:"error",title:"Could not delete draft. Try again."})}})})}onPageChange(e){this._navigateWith({page:e})}onRetry(){this.svc.loadActivities()}_navigateWith(e){this._router.navigate([],{relativeTo:this._route,queryParams:w(w({},this._route.snapshot.queryParams),e),queryParamsHandling:"merge"})}_applyFilters(e){let t=["competition","team","stadium","start_date","end_date","provided_on_from","provided_on_to"],n=w({},this._route.snapshot.queryParams);for(let o of t)delete n[o];for(let[o,r]of Object.entries(e))if(!(r==null||r===""))if(Array.isArray(r)){if(r.length===0)continue;n[o]=encodeURIComponent(JSON.stringify(r))}else typeof r=="object"&&"id"in r?n[o]=encodeURIComponent(JSON.stringify({id:r.id,name:r.name})):n[o]=encodeURIComponent(String(r));n.page=1,this._router.navigate([],{relativeTo:this._route,queryParams:n})}_parseMaybeJson(e){try{return JSON.parse(decodeURIComponent(e))}catch{return decodeURIComponent(e)}}_flattenFiltersForApi(e){let t={};for(let[n,o]of Object.entries(e))o!=null&&(t[n]=Array.isArray(o)?o.map(r=>r&&typeof r=="object"&&"id"in r?r.id:r):typeof o=="object"&&"id"in o?o.id:o);return t}static \u0275fac=function(t){return new(t||i)};static \u0275cmp=V({type:i,selectors:[["app-list"]],decls:31,vars:20,consts:[[1,"list-page"],[1,"toolbar"],[1,"toolbar-left"],["type","button","aria-label","Go back","title","Back to dashboard",1,"back-btn",3,"click"],["name","arrow-left",3,"size"],["label","Sort","placeholder","Sort by",3,"optionSelected","options","formControl"],["label","Status","placeholder","All statuses",3,"optionsSelected","multiple","options","formControl"],[1,"toolbar-right"],[1,"search-wrap"],["type","button","title","Search",1,"icon-btn",3,"click"],["name","search",3,"size"],["type","button","title","Filter",1,"icon-btn",3,"click"],["name","filter",3,"size"],[1,"badge-pill"],["role","group","aria-label","Switch view",1,"view-toggle"],["type","button","aria-label","Card view","title","Card view",1,"view-btn",3,"click"],["name","grid",3,"size"],["type","button","aria-label","List view","title","List view",1,"view-btn",3,"click"],["name","list",3,"size"],[1,"service-chips"],["type","button",1,"svc-chip",3,"active","disabled","title"],[1,"filter-chips"],[1,"content"],[1,"activity-grid",3,"list-mode"],["heading","Could not load activities","description","Check your connection and try again.","retryLabel","Retry"],["icon","video","heading","No activities yet","description","Submit your first match video to get started."],["icon","search","heading","No results found","description","Try adjusting your filters or search query."],["name","search",1,"search-icon",3,"size"],["type","search","placeholder","Search activities\u2026","autofocus","",1,"search-input",3,"input","keydown.escape","value"],["type","button","aria-label","Clear search",1,"search-clear"],["type","button","aria-label","Clear search",1,"search-clear",3,"click"],["name","x",3,"size"],["type","button",1,"svc-chip",3,"click","title"],[1,"soon-badge"],[3,"label","selected","removable"],["type","button",1,"clear-btn",3,"click"],[3,"removed","label","selected","removable"],[1,"activity-grid"],["heading","Could not load activities","description","Check your connection and try again.","retryLabel","Retry",3,"retry"],["variant","primary","routerLink","/activities/wizard/match-setup"],["variant","ghost"],["variant","ghost",3,"click"],[3,"data"],[1,"pagination-row"],[3,"deleted","click","data"],[3,"pageChange","currentPage","totalPages"]],template:function(t,n){t&1&&(s(0,"div",0)(1,"div",1)(2,"div",2)(3,"button",3),m("click",function(){return n.onBack()}),v(4,"app-icon",4),l(),s(5,"app-select",5),m("optionSelected",function(r){return n.onSortSelected(r)}),l(),s(6,"app-select",6),m("optionsSelected",function(r){return n.onStatusSelected(r)}),l()(),s(7,"div",7),y(8,Qe,4,3,"div",8),s(9,"button",9),m("click",function(){return n.toggleSearch()}),v(10,"app-icon",10),l(),s(11,"button",11),m("click",function(){return n.openFilterDialog()}),v(12,"app-icon",12),s(13,"span"),u(14,"Filter"),l(),y(15,Ye,2,1,"span",13),l(),s(16,"div",14)(17,"button",15),m("click",function(){return n.setVie
1wMode("grid")}),v(18,"app-icon",16),l(),s(19,"button",17),m("click",function(){return n.setViewMode("list")}),v(20,"app-icon",18),l()()()(),s(21,"div",19),E(22,Ke,3,8,"button",20,Ae),l(),y(24,Ze,5,0,"div",21),s(25,"div",22),y(26,tt,3,2,"div",23)(27,it,1,0,"app-error-state",24)(28,nt,3,0,"app-empty-state",25)(29,rt,2,1,"app-empty-state",26)(30,lt,4,3),l()()),t&2&&(a(4),p("size",18),a(),p("options",n.sortOptions)("formControl",n.sortCtrl),a(),p("multiple",!0)("options",n.statusOptions)("formControl",n.statusCtrl),a(2),_(n.searchVisible()?8:-1),a(),k("active",n.searchVisible()),a(),p("size",16),a(2),p("size",16),a(3),_(n.filterBadgeCount()>0?15:-1),a(2),k("active",n.viewMode()==="grid"),a(),p("size",15),a(),k("active",n.viewMode()==="list"),a(),p("size",15),a(2),L(n.serviceChips),a(2),_(n.filterChips().length>0?24:-1),a(2),_(n.svc.loading()?26:n.svc.error()?27:n.isNewUser()?28:n.isEmpty()?29:30))},dependencies:[pe,ce,de,ae,ue,he,Se,Me,I,z,ve,me,ke],styles:['@charset "UTF-8";[_nghost-%COMP%]{display:block;min-height:0;overflow-x:hidden}.list-page[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px;padding:16px;max-width:860px;margin-inline:auto;min-width:0}@media (max-width: 600px){.list-page[_ngcontent-%COMP%]{padding:12px}}.toolbar[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:10px;flex-wrap:wrap;min-width:0}.toolbar-left[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex-wrap:wrap;min-width:0;flex:1}.toolbar-left[_ngcontent-%COMP%] app-select[_ngcontent-%COMP%]{min-width:0;flex:1;max-width:180px}.back-btn[_ngcontent-%COMP%]{width:36px;height:36px;border-radius:50%;background:var(--surface-1);border:1px solid var(--border-strong);display:flex;align-items:center;justify-content:center;color:var(--text);flex-shrink:0;cursor:pointer;transition:background .15s,border-color .15s}.back-btn[_ngcontent-%COMP%]:hover{background:var(--surface-2);border-color:var(--accent)}.back-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.toolbar-right[_ngcontent-%COMP%]{display:flex;align-items:center;gap:8px;flex-shrink:0}.icon-btn[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:7px;height:36px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-1);color:var(--text-muted);font-size:13px;font-weight:600;cursor:pointer;white-space:nowrap;transition:background .15s,color .15s,border-color .15s;position:relative}.icon-btn[_ngcontent-%COMP%]:hover, .icon-btn.active[_ngcontent-%COMP%]{background:var(--surface-2);color:var(--text);border-color:var(--accent)}.icon-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.view-toggle[_ngcontent-%COMP%]{display:flex;align-items:center;gap:2px;padding:3px;border-radius:var(--r-pill);border:1px solid var(--border-strong);background:var(--surface-1);flex-shrink:0}.view-btn[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:30px;height:30px;border-radius:var(--r-pill);border:0;background:transparent;color:var(--text-faint);cursor:pointer;transition:background .15s,color .15s}.view-btn[_ngcontent-%COMP%]:hover{color:var(--text)}.view-btn.active[_ngcontent-%COMP%]{background:var(--surface-3);color:var(--text)}.view-btn[_ngcontent-%COMP%]:focus-visible{outline:2px solid var(--accent);outline-offset:2px}.badge-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;justify-content:center;min-width:18px;height:18px;padding:0 5px;border-radius:100px;background:var(--accent);color:#fff;font-size:10px;font-weight:800;line-height:1}.search-wrap[_ngcontent-%COMP%]{display:flex;align-items:center;gap:9px;height:42px;padding:0 16px;border-radius:var(--r-pill);border:1px solid var(--accent);background:var(--surface-2);flex-shrink:0;width:220px;max-width:60vw}.search-wrap[_ngcontent-%COMP%] .search-icon[_ngcontent-%COMP%]{color:var(--text-faint);flex-shrink:0}.search-input[_ngcontent-%COMP%]{background:transparent;border:none;outline:none;color:var(--text);font-size:14px;width:0;flex:1;min-width:0}.search-input[_ngcontent-%COMP%]::placeholder{color:var(--text-faint)}.search-input[_ngcontent-%COMP%]::-webkit-search-cancel-button{display:none}.search-clear[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:center;width:20px;height:20px;border-radius:50%;border:none;background:var(--surface-3);color:var(--text-muted);cursor:pointer;flex-shrink:0}.service-chips[_ngcontent-%COMP%]{display:flex;gap:8px;overflow-x:auto;padding-bottom:2px;scrollbar-width:none}.service-chips[_ngcontent-%COMP%]::-webkit-scrollbar{display:none}.svc-chip[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:7px;height:32px;padding:0 14px;border-radius:var(--r-pill);border:1px solid var(--border);background:var(--surface-1);color:var(--text-muted);font-size:13px;font-weight:600;white-space:nowrap;cursor:pointer;transition:background .15s,color .15s,border-color .15s;flex-shrink:0}.svc-chip.active[_ngcontent-%COMP%]{background:var(--accent);border-color:var(--accent);color:var(--accent-ink)}.svc-chip.disabled[_ngcontent-%COMP%]{opacity:.45;cursor:default;pointer-events:none}.soon-badge[_ngcontent-%COMP%]{display:inline-flex;align-items:center;height:16px;padding:0 6px;border-radius:100px;background:var(--surface-2);border:1px solid var(--border);font-size:9px;font-weight:800;text-transform:uppercase;letter-spacing:.04em;color:var(--text-faint)}.filter-chips[_ngcontent-%COMP%]{display:flex;flex-wrap:wrap;align-items:center;gap:8px;padding:10px 14px;background:var(--surface-1);border:1px solid var(--border);border-radius:var(--r-md)}.clear-btn[_ngcontent-%COMP%]{height:28px;padding:0 12px;border-radius:var(--r-pill);border:1px solid var(--border);background:transparent;color:var(--text-muted);font-size:12px;font-weight:600;cursor:pointer;transition:background .15s,color .15s}.clear-btn[_ngcontent-%COMP%]:hover{background:var(--surface-2);color:var(--text)}.content[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:12px}.activity-grid[_ngcontent-%COMP%]{display:grid;grid-template-columns:repeat(2,1fr);gap:14px;align-items:start}@media (max-width: 640px){.activity-grid[_ngcontent-%COMP%]{grid-template-columns:1fr}}.activity-grid.list-mode[_ngcontent-%COMP%]{grid-template-columns:1fr}.pagination-row[_ngcontent-%COMP%]{display:flex;justify-content:center;padding-top:4px}@media (max-width: 480px){.toolbar[_ngcontent-%COMP%]{flex-direction:column;align-items:stretch}.toolbar-left[_ngcontent-%COMP%]{max-width:100%}.toolbar-left[_ngcontent-%COMP%] app-select[_ngcontent-%COMP%]{max-width:50%}.toolbar-right[_ngcontent-%COMP%]{justify-content:flex-end}}'],changeDetection:0})};export{Te as ActivitiesListComponent};
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.