PageSourceSearch

https://satsterminal-admin.vercel.app/assets/users.16f90faa.js

js satsterminal-admin.vercel.app collected 2026-10-03 07:39:55 UTC 6,934 bytes, 2 lines download raw bytes

1import{Q as J,a as D,b as K,c as W}from"./QTable.a19442fa.js";import{d as X,r as l,Y as Z,o as x,k as u,l as q,m as n,a0 as _,f as a,am as v,aq as I,F as k,n as B,L as ee,Q as A,a2 as oe,ab as U,an as P}from"./index.6f469aa2.js";import{Q as $}from"./QInput.1d49a77f.js";import{Q as R,a as z}from"./QCard.3f3bef86.js";import{Q as ae}from"./QSelect.db735516.js";import{Q as te,a as se,C as ne}from"./ClosePopup.f5db457c.js";import{_ as re,Q as le}from"./plugin-vue_export-helper.544ad384.js";import{u as ie}from"./use-quasar.ba21ceda.js";import"./QSeparator.947b4ad8.js";import"./format.2aa0ae90.js";import"./scroll.7d4770ed.js";import"./use-checkbox.83caa136.js";import"./position-engine.78534883.js";import"./use-model-toggle.89631ba5.js";import"./use-timeout.c2bd526e.js";import"./use-prevent-scroll.e541677a.js";const de=X({name:"Users",setup(){const e=ie(),t=l(""),h=l(!1),w=l("list"),b=l(!1),d=l({sortBy:"name",descending:!1,page:1,rowsPerPage:10,rowsNumber:0}),o=Z({name:"",city:"",state:"",last_call:""}),r=[{name:"id",label:"ID",field:"id",sortable:!0},{name:"btc_address",label:"Address",field:"btc_address",sortable:!0},{name:"provider",label:"Provider",field:"provider",sortable:!0},{name:"total_points",label:"Total Points",field:"total_points",sortable:!0},{name:"referral_code",label:"Referral Code",field:"referral_code",sortable:!0},{name:"invitation_code",label:"Invitation Code",field:"invitation_code",sortable:!0},{name:"created_at",label:"Created At",field:"created_at",sortable:!0}],f=l([]),E=()=>{w.value=w.value==="grid"?"list":"grid"},F=()=>{const s=f.value,g=[r.map(V=>V.label).join(","),...s.map(V=>r.map(H=>V[H.field]).join(","))].join(`
2`),i=new Blob([g],{type:"text/csv;charset=utf-8;"}),c=document.createElement("a"),G=URL.createObjectURL(i);c.setAttribute("href",G),c.setAttribute("download","users.csv"),c.style.visibility="hidden",document.body.appendChild(c),c.click(),document.body.removeChild(c)},N=()=>{console.log("Form submitted:",o),h.value=!1},C=async s=>{b.value=!0;try{const{page:m,rowsPerPage:g}=s.pagination,{data:i}=await _.get("/admin/users",{params:{page:m,limit:g,search:t.value}});f.value=i.data,d.value={...d.value,rowsNumber:parseInt(i.total),page:parseInt(i.page),rowsPerPage:parseInt(i.perPage)}}catch(m){console.error("Error fetching users:",m),e.notify({color:"negative",message:"Failed to fetch users",icon:"warning"})}finally{b.value=!1}},S=s=>{const{page:m,rowsPerPage:g}=s.pagination,i={...d.value,page:m,rowsPerPage:g};d.value=i,C({pagination:i})},j=s=>s?`${s.slice(0,6)}...${s.slice(-6)}`:"",L=s=>{navigator.clipboard.writeText(s),e.notify({message:"Address copied to clipboard",color:"positive",position:"bottom",timeout:1e3})},Q=l(!1),y=l(null),T=l(!1),p=l({points:0,type:"manual",description:""}),M=["manual","airdrop","quest_completion"],O=s=>{y.value=s,Q.value=!0},Y=async()=>{if(!(!y.value||!p.value.points)){T.value=!0;try{const{data:s}=await _.post("/admin/give-points",{ord_address:y.value.ord_address,points:p.value.points,type:p.value.type,description:p.value.description});e.notify({color:"positive",message:"Points awarded successfully",icon:"check"}),Q.value=!1,p.value={points:0,type:"manual",description:""},C({pagination:d.value})}catch(s){console.error("Error awarding points:",s),e.notify({color:"negative",message:"Failed to award points",icon:"warning"})}finally{T.value=!1}}};return x(()=>{C({pagination:d.value})}),{filter:t,new_user:h,mode:w,pagination:d,user:o,columns:r,data:f,loading:b,toggleMode:E,exportTable:F,onSubmit:N,truncateAddress:j,copyAddress:L,showAwardPointsDialog:Q,selectedUser:y,pointsToAward:p,pointTypes:M,awarding:T,openAwardPointsDialog:O,awardPoints:Y,onRequest:S}}}),ue={class:"row items-center"},pe=["onClick"];function me(e,t,h,w,b,d){return u(),q(le,{class:"q-pa-sm"},{default:n(()=>[a(R,{flat:""},{default:n(()=>[a(J,{title:"Users",rows:e.data,columns:e.columns,"row-key":"id",grid:e.mode==="grid",filter:e.filter,flat:"",bordered:"",pagination:e.pagination,"onUpdate:pagination":t[1]||(t[1]=o=>e.pagination=o),"rows-per-page-options":[10,20,50,100],onRequest:e.onRequest,loading:e.loading},{header:n(o=>[a(D,{props:o},{default:n(()=>[(u(!0),v(k,null,I(o.cols,r=>(u(),q(K,{key:r.name,props:o},{default:n(()=>[U(P(r.label),1)]),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),"top-right":n(()=>[B("div",ue,[a($,{outlined:"",dense:"",debounce:"300",modelValue:e.filter,"onUpdate:modelValue":[t[0]||(t[0]=o=>e.filter=o),e.fetchUsers],placeholder:"Search",size:e.$q.screen.lt.sm?"sm":"md"},{append:n(()=>[a(ee,{name:"search"})]),_:1},8,["modelValue","onUpdate:modelValue","size"]),a(A,{outline:"",color:e.$q.dark.isActive?"white":"black","icon-right":"archive",label:"Export to csv","no-caps":"",onClick:e.exportTable,class:"q-ml-sm",size:e.$q.screen.lt.sm?"sm":"md"},null,8,["color","onClick","size"])])]),body:n(o=>[a(D,{props:o},{default:n(()=>[(u(!0),v(k,null,I(o.cols,r=>(u(),q(W,{key:r.name,props:o},{default:n(()=>[r.name==="btc_address"?(u(),v(k,{key:0},[U(P(e.truncateAddress(o.row[r.name]))+" ",1),a(A,{flat:"",dense:"",round:"",icon:"content_copy",size:"sm",class:"q-ml-sm",onClick:f=>e.copyAddress(o.row[r.name])},null,8,["onClick"])],64)):r.name==="total_points"?(u(),v("div",{key:1,class:"cursor-pointer points-hover",onClick:f=>e.openAwardPointsDialog(o.row)},P(o.row[r.name]),9,pe)):(u(),v(k,{key:2},[U(P(o.row[r.name]),1)],64))]),_:2},1032,["props"]))),128))]),_:2},1032,["props"])]),_:1},8,["rows","columns","grid","filter","pagination","onRequest","loading"])]),_:1}),a(se,{modelValue:e.showAwardPointsDialog,"onUpdate:modelValue":t[5]||(t[5]=o=>e.showAwardPointsDialog=o)},{default:n(()=>[a(R,{style:{"min-width":"350px","border-radius":"30px"}},{default:n(()=>[a(z,null,{default:n(()=>t[6]||(t[6]=[B("div",{class:"text-h6"},"Award Points",-1)])),_:1}),a(z,null,{default:n(()=>[a($,{modelValue:e.pointsToAward.points,"onUpdate:modelValue":t[2]||(t[2]=o=>e.pointsToAward.points=o),modelModifiers:{number:!0},type:"number",label:"Points",outlined:"",rounded:"",dense:""},null,8,["modelValue"]),a(ae,{modelValue:e.pointsToAward.type,"onUpdate:modelValue":t[3]||(t[3]=o=>e.pointsToAward.type=o),options:e.pointTypes,label:"Type",outlined:"",rounded:"",dense:"",class:"q-mt-sm"},null,8,["modelValue","options"]),a($,{modelValue:e.pointsToAward.description,"onUpdate:modelValue":t[4]||(t[4]=o=>e.pointsToAward.description=o),label:"Description",outlined:"",type:"textarea",rounded:"",dense:"",class:"q-mt-sm"},null,8,["modelValue"])]),_:1}),a(te,{align:"right"},{default:n(()=>[oe(a(A,{flat:"",label:"Cancel",color:e.$q.dark.isActive?"white":"black",outline:"",rounded:""},null,8,["color"]),[[ne]]),a(A,{flat:"",label:"Award",color:e.$q.dark.isActive?"white":"black",onClick:e.awardPoints,loading:e.awarding,outline:"",rounded:""},null,8,["color","onClick","loading"])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),_:1})}var Ue=re(de,[["render",me],["__scopeId","data-v-87a4ba20"]]);export{Ue 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.