PageSourceSearch

https://prosurfingtools.com/assets/admin-bots-CJT-fABv.js

js prosurfingtools.com collected 2026-10-02 01:40:48 UTC 2,967 bytes, 1 lines download raw bytes

1import{w as u,d as f,j as s,C as N,b as c,u as v,r as t,f as g,o as y,g as w,_ as B,B as b,v as C}from"./index-DKr66--M.js";import{A as L}from"./admin-sidebar-Cwv8J9iM.js";import{w as A,a as E}from"./with-email-verification-Bxiu_3A2.js";import{b as O}from"./index.esm-CkYgwHb-.js";import"./index.esm-DYJTQ7me.js";import"./Button-bkW_oL3h.js";const o=({icon:e,children:a})=>s.jsxs("span",{className:"d-inline-flex align-items-center gap-1 admin-chip",children:[e&&s.jsx("span",{className:"admin-chip-icon",children:e}),a]}),F=({bot:e,index:a,onClick:i})=>s.jsxs("div",{onClick:i,className:"admin-surfer-row admin-list-row",style:{borderTop:a>0?"1px solid #efefef":"none"},children:[s.jsxs("div",{className:"d-flex align-items-center gap-2 admin-surfer-col-name",children:[s.jsx("img",{src:e.picture||"/default-profile.png",alt:[e.name,e.surname].filter(Boolean).join(" ")||"Bot",title:[e.name,e.surname].filter(Boolean).join(" ")||"Bot",className:"admin-avatar",style:{border:`2px solid ${w(e.jerseyColor)||"#e5e7eb"}`}}),s.jsxs("div",{className:"admin-name-wrap",children:[s.jsxs("div",{className:"admin-list-item-title",children:[e.name," ",e.middleName," ",e.surname]}),e.jerseyNumber&&s.jsxs("div",{className:"admin-jersey-number",children:["#",e.jerseyNumber]})]})]}),s.jsxs("div",{className:"d-flex align-items-center gap-2 admin-surfer-col-chips",children:[e.country&&s.jsx(o,{icon:s.jsx(B,{}),children:e.country}),e.dob&&s.jsxs(o,{icon:s.jsx(C,{}),children:[b().diff(e.dob,"years")," yrs"]})]})]}),I=e=>{const{t:a}=v(),[i,x]=t.useState([]),[r,d]=t.useState(!1),j=g();t.useEffect(()=>{h()},[]);const h=()=>{d(!0),y(e.firebase.bots(),n=>{const l=n.val();if(l){const p=Object.keys(l).map(m=>({...l[m],uid:m}));x(p)}d(!1)})};return s.jsxs("div",{className:"team-panel-wrap",children:[s.jsxs("div",{className:"team-panel-header team-list-header",children:[s.jsxs("div",{className:"d-flex align-items-center gap-2",children:[s.jsx(O,{className:"team-panel-icon"}),s.jsx("span",{className:"team-panel-title",children:a("admin.bots")})]}),s.jsxs("span",{className:"team-member-count",children:[i.length," ",a("admin.total")]})]}),s.jsxs("div",{className:"team-panel-body",children:[r&&s.jsx("div",{className:"admin-loading-text",children:a("admin.loading")}),s.jsxs("div",{className:"admin-list-wrap",children:[s.jsxs("div",{className:"admin-list-col-headers",children:[s.jsx("div",{className:"admin-surfer-col-name",children:a("admin.name")}),s.jsx("div",{className:"admin-surfer-col-chips",children:a("admin.details")})]}),i.map((n,l)=>s.jsx(F,{bot:n,index:l,onClick:()=>j("/admin/bot/"+n.uid)},n.uid)),!r&&i.length===0&&s.jsx("div",{className:"text-center py-4 admin-empty",children:a("admin.noBots")})]})]})]})},R=e=>s.jsx(N,{className:"content min-vh-100",children:s.jsxs("div",{className:"row pt-3",children:[s.jsx(c,{sm:12,md:2,children:s.jsx(L,{})}),s.jsx(c,{sm:12,md:10,children:s.jsx(I,{...e})})]})}),S=e=>e&&e.role===f,J=A(E(S)(u(R)));export{J 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.