PageSourceSearch

https://5thvital.com/chunk-CX5WH3W4.js

js 5thvital.com collected 2026-10-08 03:10:18 UTC 12,466 bytes, 1 lines download raw bytes

1import{a as U}from"./chunk-GYFB2DJ5.js";import{b as K,c as q,f as G,i as Q,j as Y,k as H,q as J}from"./chunk-55NFVNZ6.js";import"./chunk-TH3N5J5G.js";import{i as j}from"./chunk-XCSY5J2J.js";import{$b as N,Ab as y,Bb as R,Db as M,Eb as S,Fb as w,Ja as a,Jb as z,Lb as W,Mb as F,Na as P,Ra as A,Tb as v,Va as h,ac as L,bb as m,db as x,dc as B,ec as V,fb as k,kb as t,lb as i,nb as E,ob as T,pa as b,qb as c,rb as C,xb as I,yb as n,zb as g}from"./chunk-2QISFCJE.js";import{d as D}from"./chunk-ECBXVGWK.js";function ee(s,r){s&1&&(t(0,"th"),n(1,"Email"),i(),t(2,"th"),n(3,"Gender"),i())}function te(s,r){if(s&1&&(t(0,"td",25),n(1),i(),t(2,"td",25),n(3),i()),s&2){let l,e,o=C().$implicit;a(),g((l=o.meta==null?null:o.meta.email)!==null&&l!==void 0?l:"\u2014"),a(2),g((e=o.meta==null?null:o.meta.gender)!==null&&e!==void 0?e:"\u2014")}}function ne(s,r){if(s&1&&(t(0,"span",29),n(1),t(2,"span",25),n(3),i()()),s&2){let l=r.$implicit,e=C().ngIf;a(),y("",l,": "),a(2),g(e[l])}}function ie(s,r){if(s&1&&(E(0),h(1,ne,4,2,"span",28),T()),s&2){let l=r.ngIf,e=C(2);a(),m("ngForOf",e.metaKeys(l))}}function ae(s,r){s&1&&n(0,"\u2014")}function re(s,r){if(s&1&&(t(0,"tr")(1,"td",25),n(2),i(),t(3,"td"),n(4),i(),h(5,te,4,2),t(6,"td",25),n(7),z(8,"date"),i(),t(9,"td",25),n(10),i(),t(11,"td",26),h(12,ie,2,1,"ng-container",27)(13,ae,1,0,"ng-template",null,0,F),i()()),s&2){let l=r.$implicit,e=I(14),o=C();a(2),g(l.id),a(2),g(l.name),a(),k(o.kind()==="customers"?5:-1),a(2),g(W(8,7,l.date,"medium")),a(3),g(l.value),a(2),m("ngIf",l.meta)("ngIfElse",e)}}var X=class s{constructor(r,l){this.route=r;this.analytics=l;this.kindValue=this.route.snapshot.data?.kind||"customers",this.kind.set(this.kindValue);let e=this.route.snapshot.queryParamMap.get("range")||"year";this.range.set(e),this.refresh()}kindValue;kind=b("customers");range=b("year");rows=b([]);loading=b(!1);search="";fromDate="";toDate="";page=b(1);pageSize=40;sortBy=b("date");sortDir=b("desc");title=v(()=>this.kind()==="customers"?"Customers":this.kind()==="orders"?"Orders":"Packages / Tests");valueLabel=v(()=>this.kind()==="customers"?"Age":this.kind()==="orders"?"Amount":"Qty");filtered=v(()=>{let r=(this.search||"").trim().toLowerCase(),l=this.fromDate?new Date(this.fromDate+"T00:00:00").getTime():null,e=this.toDate?new Date(this.toDate+"T23:59:59").getTime():null,o=this.rows().filter(p=>{let u=Date.parse(p.date);return l!==null&&!(u>=l)||e!==null&&!(u<=e)?!1:r?[p.id,p.name,p.date,String(p.value),...p.meta?Object.entries(p.meta).map(([_,$])=>`${_}:${String($??"")}`):[]].join(" ").toLowerCase().includes(r):!0}),d=this.sortBy(),Z=this.sortDir(),O=(p,u)=>{let f="",_="";return d==="id"&&(f=p.id,_=u.id),d==="name"&&(f=p.name,_=u.name),d==="date"&&(f=Date.parse(p.date),_=Date.parse(u.date)),d==="value"&&(f=p.value,_=u.value),typeof f=="number"&&typeof _=="number"?f-_:String(f).localeCompare(String(_))};return o.sort((p,u)=>Z==="asc"?O(p,u):-O(p,u)),o});pages=v(()=>Math.max(1,Math.ceil(this.filtered().length/this.pageSize)));visible=v(()=>{let l=(Math.min(this.page(),this.pages())-1)*this.pageSize;return this.filtered().slice(l,l+this.pageSize)});onPageSizeChange(){this.page.set(1),this.refresh()}first(){this.page.set(1)}last(){this.page.set(this.pages())}metaKeys(r){return Object.keys(r||{}).slice(0,6)}sortIcon(r){return this.sortBy()!==r?"\u2195":this.sortDir()==="asc"?"\u2191":"\u2193"}toggleSort(r){if(this.sortBy()===r){this.sortDir.set(this.sortDir()==="asc"?"desc":"asc");return}this.sortBy.set(r),this.sortDir.set(r==="name"||r==="id"?"asc":"desc")}setRange(r){return D(this,null,function*(){this.range()!==r&&(this.range.set(r),yield this.refresh())})}refresh(){return D(this,null,function*(){this.loading.set(!0);try{let r=yield this.analytics.getDetails(this.kind(),this.range());this.rows.set(r),this.page.set(1)}finally{this.loading.set(!1)}})}prev(){this.page.set(Math.max(1,this.page()-1))}next(){this.page.set(Math.min(this.pages(),this.page()+1))}static \u0275fac=function(l){return new(l||s)(P(j),P(U))};static \u0275cmp=A({type:s,selectors:[["app-admin-details"]],decls:82,vars:33,consts:[["dash",""],[1,"adp-wrap"],[1,"adp-top"],[1,"adp-title"],[1,"adp-filters"],[1,"adp-chip",3,"click"],[1,"adp-controls"],[1,"adp-control"],["type","text","placeholder","Name / ID / phone / status\u2026",3,"ngModelChange","ngModel"],[3,"ngModelChange","change","ngModel"],[3,"ngValue"],["type","date",3,"ngModelChange","ngModel"],["type","button",1,"adp-btn",3,"click","disabled"],[1,"adp-card"],[1,"adp-card-header"],[1,"adp-card-title"],[1,"adp-count"],[1,"adp-table-wrap"],[1,"adp-table"],["role","button",3,"click"],[1,"adp-sort"],[4,"ngFor","ngForOf"],[1,"adp-pager"],["type","button",1,"adp-page-btn",3,"click","disabled"],[1,"adp-page-text"],[1,"mono"],[1,"meta"],[4,"ngIf","ngIfElse"],["class","meta-pill",4,"ngFor","ngForOf"],[1,"meta-pill"]],template:function(l,e){l&1&&(t(0,"div",1)(1,"div",2)(2,"div",3),n(3),i(),t(4,"div",4)(5,"button",5),c("click",function(){return e.setRange("day")}),n(6,"Day"),i(),t(7,"button",5),c("click",function(){return e.setRange("week")}),n(8,"Week"),i(),t(9,"button",5),c("click",function(){return e.setRange("month")}),n(10,"Month"),i(),t(11,"button",5),c("click",function(){return e.setRange("year")}
1),n(12,"Year"),i()()(),t(13,"div",6)(14,"div",7)(15,"label"),n(16,"Search"),i(),t(17,"input",8),w("ngModelChange",function(d){return S(e.search,d)||(e.search=d),d}),i()(),t(18,"div",7)(19,"label"),n(20,"Rows"),i(),t(21,"select",9),w("ngModelChange",function(d){return S(e.pageSize,d)||(e.pageSize=d),d}),c("change",function(){return e.onPageSizeChange()}),t(22,"option",10),n(23,"10"),i(),t(24,"option",10),n(25,"40"),i(),t(26,"option",10),n(27,"70"),i(),t(28,"option",10),n(29,"100"),i()()(),t(30,"div",7)(31,"label"),n(32,"From"),i(),t(33,"input",11),w("ngModelChange",function(d){return S(e.fromDate,d)||(e.fromDate=d),d}),i()(),t(34,"div",7)(35,"label"),n(36,"To"),i(),t(37,"input",11),w("ngModelChange",function(d){return S(e.toDate,d)||(e.toDate=d),d}),i()(),t(38,"button",12),c("click",function(){return e.refresh()}),n(39),i()(),t(40,"div",13)(41,"div",14)(42,"div",15),n(43,"Results"),i(),t(44,"div",16),n(45),i()(),t(46,"div",17)(47,"table",18)(48,"thead")(49,"tr")(50,"th",19),c("click",function(){return e.toggleSort("id")}),n(51,"ID "),t(52,"span",20),n(53),i()(),t(54,"th",19),c("click",function(){return e.toggleSort("name")}),n(55,"Name "),t(56,"span",20),n(57),i()(),h(58,ee,4,0),t(59,"th",19),c("click",function(){return e.toggleSort("date")}),n(60,"Date "),t(61,"span",20),n(62),i()(),t(63,"th",19),c("click",function(){return e.toggleSort("value")}),n(64),t(65,"span",20),n(66),i()(),t(67,"th"),n(68,"Meta"),i()()(),t(69,"tbody"),h(70,re,15,10,"tr",21),i()()(),t(71,"div",22)(72,"button",23),c("click",function(){return e.first()}),n(73,"First"),i(),t(74,"button",23),c("click",function(){return e.prev()}),n(75,"Prev"),i(),t(76,"div",24),n(77),i(),t(78,"button",23),c("click",function(){return e.next()}),n(79,"Next"),i(),t(80,"button",23),c("click",function(){return e.last()}),n(81,"Last"),i()()()()),l&2&&(a(3),g(e.title()),a(2),x("adp-chip-active",e.range()==="day"),a(2),x("adp-chip-active",e.range()==="week"),a(2),x("adp-chip-active",e.range()==="month"),a(2),x("adp-chip-active",e.range()==="year"),a(6),M("ngModel",e.search),a(4),M("ngModel",e.pageSize),a(),m("ngValue",10),a(2),m("ngValue",40),a(2),m("ngValue",70),a(2),m("ngValue",100),a(5),M("ngModel",e.fromDate),a(4),M("ngModel",e.toDate),a(),m("disabled",e.loading()),a(),y(" ",e.loading()?"Loading\u2026":"Apply"," "),a(6),y("",e.filtered().length," rows"),a(8),g(e.sortIcon("id")),a(4),g(e.sortIcon("name")),a(),k(e.kind()==="customers"?58:-1),a(4),g(e.sortIcon("date")),a(2),y("",e.valueLabel()," "),a(2),g(e.sortIcon("value")),a(4),m("ngForOf",e.visible()),a(2),m("disabled",e.page()===1),a(2),m("disabled",e.page()===1),a(3),R("Page ",e.page()," / ",e.pages(),""),a(),m("disabled",e.page()===e.pages()),a(2),m("disabled",e.page()===e.pages()))},dependencies:[V,N,L,B,J,Y,H,K,Q,q,G],styles:[".adp-wrap[_ngcontent-%COMP%]{max-width:90%;margin:0 auto}.adp-top[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;margin-bottom:14px;flex-wrap:wrap}.adp-title[_ngcontent-%COMP%]{font-size:1.25rem;font-weight:900;color:var(--brand-text);letter-spacing:-.02em}.adp-filters[_ngcontent-%COMP%]{display:flex;gap:8px;flex-wrap:wrap;justify-content:flex-end}.adp-chip[_ngcontent-%COMP%]{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);padding:8px 10px;border-radius:999px;font-weight:800;cursor:pointer}.adp-chip-active[_ngcontent-%COMP%]{background:var(--brand-main-header);color:#fff;border-color:#ffffff38}.adp-controls[_ngcontent-%COMP%]{display:grid;grid-template-columns:1.4fr .6fr .8fr .8fr auto;gap:10px;margin-bottom:14px;align-items:end}.adp-control[_ngcontent-%COMP%]{display:flex;flex-direction:column;gap:6px}.adp-control[_ngcontent-%COMP%]   label[_ngcontent-%COMP%]{font-weight:800;color:var(--brand-text);font-size:.95rem}.adp-control[_ngcontent-%COMP%]   input[_ngcontent-%COMP%], .adp-control[_ngcontent-%COMP%]   select[_ngcontent-%COMP%]{height:40px;border-radius:12px;border:1px solid var(--brand-border);padding:0 12px;background:var(--brand-surface);color:var(--brand-text);outline:none}.adp-btn[_ngcontent-%COMP%]{height:40px;border-radius:12px;border:none;background:var(--brand-btn-bg);color:var(--brand-btn-text);font-weight:900;padding:0 16px;cursor:pointer}.adp-btn[_ngcontent-%COMP%]:disabled{opacity:.7;cursor:not-allowed}.adp-btn[_ngcontent-%COMP%]:hover:not(:disabled){background:var(--brand-btn-bg-hover)}.adp-card[_ngcontent-%COMP%]{border:1px solid var(--brand-border);background:var(--brand-surface);border-radius:18px;
1box-shadow:var(--brand-shadow);overflow:hidden}.adp-card-header[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:12px;padding:12px 14px;background:#000;color:#fff;border-radius:6px;margin:12px 12px 10px}.adp-card-title[_ngcontent-%COMP%]{font-weight:900;letter-spacing:-.01em}.adp-count[_ngcontent-%COMP%]{font-weight:800;opacity:.95}.adp-table-wrap[_ngcontent-%COMP%]{overflow:auto}.adp-table[_ngcontent-%COMP%]{width:100%;border-collapse:separate;border-spacing:0;min-width:880px;font-size:.92rem}.adp-table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]{position:sticky;top:0;background:#35b6b7;color:#fff;text-align:left;font-weight:900;padding:10px;border-bottom:1px solid rgba(255,255,255,.18);cursor:pointer;-webkit-user-select:none;user-select:none;white-space:nowrap;font-size:.88rem;letter-spacing:.01em}.adp-table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]:first-child{border-top-left-radius:6px}.adp-table[_ngcontent-%COMP%]   thead[_ngcontent-%COMP%]   th[_ngcontent-%COMP%]:last-child{border-top-right-radius:6px}.adp-sort[_ngcontent-%COMP%]{opacity:.55;margin-left:6px;font-weight:900}.adp-table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   td[_ngcontent-%COMP%]{padding:9px 10px;border-bottom:1px solid color-mix(in srgb,var(--brand-border) 65%,transparent);color:var(--brand-text);vertical-align:top}.adp-table[_ngcontent-%COMP%]   tbody[_ngcontent-%COMP%]   tr[_ngcontent-%COMP%]:hover{background:color-mix(in srgb,var(--brand-cards-bg) 70%,transparent)}.mono[_ngcontent-%COMP%]{font-variant-numeric:tabular-nums;font-family:ui-monospace,SFMono-Regular,Menlo,Monaco,Consolas,Liberation Mono,Courier New,monospace}.meta[_ngcontent-%COMP%]{display:flex;gap:6px;flex-wrap:wrap}.meta-pill[_ngcontent-%COMP%]{display:inline-flex;align-items:center;gap:6px;border:1px solid var(--brand-border);background:color-mix(in srgb,var(--brand-cards-bg) 55%,transparent);padding:4px 8px;border-radius:999px;font-weight:700;font-size:.82rem;color:var(--brand-text)}.adp-pager[_ngcontent-%COMP%]{display:flex;align-items:center;justify-content:space-between;gap:10px;padding:12px 14px}.adp-page-btn[_ngcontent-%COMP%]{border:1px solid var(--brand-border);background:var(--brand-surface);color:var(--brand-text);padding:8px 12px;border-radius:12px;font-weight:800;cursor:pointer;min-width:76px;text-align:center}.adp-page-btn[_ngcontent-%COMP%]:disabled{opacity:.65;cursor:not-allowed}.adp-page-text[_ngcontent-%COMP%]{font-weight:800;color:var(--brand-text-muted)}@media (max-width: 920px){.adp-controls[_ngcontent-%COMP%]{grid-template-columns:1fr 1fr}.adp-btn[_ngcontent-%COMP%]{grid-column:1 / -1}}"]})};export{X as AdminDetailsComponent};

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.