PageSourceSearch

https://carnest.co.ke/_nuxt/R-d884jn.js

js carnest.co.ke collected 2026-10-09 22:07:52 UTC 11,429 bytes, 1 lines download raw bytes

1import{_ as Y,a as $}from"./CGXPQL8_.js";import{aU as B,d8 as W,bY as X,cQ as h,cd as E,az as I,e2 as t,aQ as e,cz as Z,aP as m,ay as x,d3 as i,bN as D,av as N,ct as A,aC as ee,cS as te,aA as ae,bD as T,dk as ne,dn as oe,c4 as le,y as se,bh as l,dK as ie}from"./N00pzxGF.js";import{_ as O}from"./GfX4m4Di.js";import{_ as q}from"./C6tekm3d.js";import{_ as re}from"./Bd3rOE4G.js";import{_ as z}from"./DPlgB9sJ.js";import{_ as me}from"./COGF9V9i.js";import{_ as ue,a as de,b as _e,c as fe}from"./Cg4zeM_9.js";import{_ as pe}from"./CHHD1Tcu.js";import{_ as ce}from"./D2W_pc2s.js";import{t as ve,u as ge,F as ye,_ as Se,b as xe,c as be}from"./QvJYDTex.js";import{_ as we}from"./BKb2s_hc.js";import{_ as K}from"./CP-baviB.js";import{u as J}from"./07HB3Rvt.js";import{_ as $e}from"./DNRlrVEu.js";import{_ as Ce}from"./Bt1-ULSh.js";import Fe from"./Cit_zrn_.js";import{_ as Pe,a as je,b as Ae,c as Ve}from"./0ZIvB85W.js";import{_ as he}from"./DnEQu2sb.js";import{_ as De}from"./aJ91KWmG.js";import{_ as Te}from"./SCdc_NaP.js";import{_ as He,a as Ee,b as Ne,c as ke,d as Ue}from"./LU5P8Hra.js";import{_ as Be}from"./BjF0d21e.js";import"./B47TMLHt.js";import"./7DqVi3zQ.js";import"./BnV_JVPn.js";import"./CyZ4YXcu.js";import"./CLkd12ce.js";import"./PVMXeg-g.js";import"./Ciu7uVhU.js";import"./D80bh5LH.js";import"./DqWKiqLX.js";import"./SOV26uiI.js";import"./C4AgmD07.js";import"./CUJAp1Ds.js";import"./B5rxJs06.js";import"./DY1-_VLf.js";import"./BHcUWBWE.js";import"./CQLWQBL9.js";import"./CZrQ9aBr.js";import"./DlAUqK2U.js";import"./BqUoY-Rv.js";import"./BF1o9vuY.js";import"./CuY4o0C-.js";import"./kRIii9yh.js";import"./Cx67mICM.js";import"./CLJ3elww.js";import"./DyFk-SK6.js";import"./DuxMe6Rk.js";import"./CkrLefL7.js";import"./tsQ4-BKK.js";import"./Cov39UZR.js";import"./CTX3Jnoj.js";import"./CazaQvha.js";import"./Dj8sv2KW.js";import"./BHz7bOgd.js";import"./CU6aTt37.js";import"./B9MhLu_b.js";import"./C9aC_QAB.js";import"./Bbx9uxC-.js";import"./CeIZf7lg.js";import"./DKIkdBAh.js";import"./viQfzUzP.js";import"./unXZATyp.js";import"./CsHMD5vE.js";import"./CHIgUVhi.js";const Ie={class:"grid lg:grid-cols-2 gap-6"},qe={class:"lg:col-span-2"},Le={class:"flex justify-end pt-4"},Oe=B({__name:"CreateStaff",setup(L){const c=J(),b=W(),_=N(()=>b.profile),v=ve(X({name:h(),email:h().email(),phone:h().regex(/^2547\d{8}$/,"Phone number must start with 2547 and be followed by 8 digits"),password:h(),confirmPassword:h()}).refine(d=>d.password===d.confirmPassword,{message:"Passwords must match!",path:["confirmPassword"]})),{isSubmitting:a,handleSubmit:s}=ge({validationSchema:v,initialValues:{name:void 0,email:void 0,phone:void 0,password:void 0,confirmPassword:void 0}}),f=A(!1),C=s(async d=>{var o,w;return await c.createStaff({email:d.email,name:d.name,phone:d.phone,password:d.password,cmp:(o=_.value.company)==null?void 0:o.id,ccd:(w=_.value.company)==null?void 0:w.company_code}).then(()=>{f.value=!1})});return(d,o)=>{const w=ce,H=_e,n=pe,p=de,r=xe,F=K,P=be,j=we,g=Se,y=ye,k=q,U=ue,V=fe;return E(),I(V,{open:i(f),"onUpdate:open":o[1]||(o[1]=u=>f.value=u)},{default:t(()=>[e(w,{"as-child":""},{default:t(()=>[Z(d.$slots,"default")]),_:3}),e(U,{class:"max-w-md lg:max-w-lg"},{default:t(()=>[e(p,null,{default:t(()=>[e(H,null,{default:t(()=>[...o[2]||(o[2]=[m("Create a New Staff",-1)])]),_:1}),e(n,null,{default:t(()=>[...o[3]||(o[3]=[m(" Fill all required inputs. ",-1)])]),_:1})]),_:1}),x("form",{class:"w-full space-y-3",onSubmit:o[0]||(o[0]=(...u)=>i(C)&&i(C)(...u))},[x("div",Ie,[e(y,{name:"name"},{default:t(({componentField:u})=>[e(g,null,{default:t(()=>[e(r,{required:""},{default:t(()=>[...o[4]||(o[4]=[m("Full Name",-1)])]),_:1}),e(P,null,{default:t(()=>[e(F,D({placeholder:"Full Name",type:"text"},u),null,16)]),_:2},1024),e(j)]),_:2},1024)]),_:1}),e(y,{name:"email"},{default:t(({componentField:u})=>[e(g,null,{default:t(()=>[e(r,{required:""},{default:t(()=>[...o[5]||(o[5]=[m("Email",-1)])]),_:1}),e(P,null,{default:t(()=>[e(F,D({type:"email",placeholder:"Email"},u),null,16)]),_:2},1024),e(j)]),_:2},1024)]),_:1}),x("div",qe,[e(y,{name:"phone"},{default:t(({componentField:u})=>[e(g,null,{default:t(()=>[e(r,{required:""},{default:t(()=>[...o[6]||(o[6]=[m("Phone",-1)])]),_:1}),e(P,null,{default:t(()=>[e(F,D({type:"tel",placeholder:"Phone"},u),null,16)]),_:2},1024),e(j)]),_:2},1024)]),_:1})]),e(y,{name:"password"},{default:t(({componentField:u})=>[e(g,null,{default:t(()=>[e(r,{required:""},{default:t(()=>[...o[7]||(o[7]=[m("Password",-1)])]),_:1}),e(P,null,{default:t(()=>[e(F,D({type:"password",placeholder:"Password"},u),null,16)]),_:2},1024),e(j)]),_:2},1024)]),_:1}),e(y,{name:"confirmPassword"},{default:t(({componentField:u})=>[e(g,null,{default:t(()=>[e(r,{required:""},{default:t(()=>[...o[8]||(o[8]=[m(" Confirm Password",-1)])]),_:1}),e(P,null,{default:t(()=>[e(F,D({type:"password",placeholder:"Confirm Password"},u),null,16)]),_:2},1024),e(j)]),_:2},1024)]),_:1})]),x("div",Le,[e(k,{loading:i(a),type:"submit",variant:"destructive",class:"w-full"},{default:t(()=>[...o[9]||(o[9]=[m(" Save ",-1)])]),_:1},8,["loading"])])],32)]),_:1})]),_:3},8,["open"])}}}),ze=Object.assign(Oe,{__name:"CreateStaff"}),Ke={key:0,class:"ml-1 rounded-full bg-primary text-primary-foreground text-xs px-1.5"},Je={class:"space-y-4 py-4 px-4"},Re={class:"space-y-1"},Ge={class:"space-y-1"},Me={class:"space-y-1"},Qe={class:"space-y-1"},Ye=B({__name:"StaffPageFilter",emits:["apply","clear"],setup(L,{emit:c}){const b=c,_=A(!1),v=A(""),a=A("all"),s=A(""),f=A(""),C=N(()=>[v.value||void 0,a.value!=="all"?a.value:void 0,s.value||void 0,f.value||void 0].filter(
1Boolean).length);function d(){return{search_term:v.value||void 0,active:a.value!=="all"?a.value==="true":void 0,date_from:s.value||void 0,date_to:f.value||void 0}}function o(){_.value=!1,b("apply",d())}function w(){v.value="",a.value="all",s.value="",f.value="",b("clear")}return(H,n)=>{const p=Fe,r=q,F=De,P=Ae,j=je,g=Te,y=K,k=Ne,U=Ee,V=Ue,u=ke,R=He,G=he,M=Pe,Q=Ve;return E(),I(Q,{open:i(_),"onUpdate:open":n[4]||(n[4]=S=>T(_)?_.value=S:null)},{default:t(()=>[e(F,{"as-child":""},{default:t(()=>[e(r,{size:"sm",variant:"outline",class:"relative"},{default:t(()=>[e(p,{name:"ph:funnel-duotone",class:"mr-1 h-4 w-4"}),n[5]||(n[5]=m(" Filters ",-1)),i(C)>0?(E(),ee("span",Ke,te(i(C)),1)):ae("",!0)]),_:1})]),_:1}),e(M,{side:"right",class:"min-w-full lg:min-w-[40%] overflow-y-auto"},{default:t(()=>[e(j,null,{default:t(()=>[e(P,null,{default:t(()=>[...n[6]||(n[6]=[m("Filter Staff",-1)])]),_:1})]),_:1}),x("div",Je,[x("div",Re,[e(g,null,{default:t(()=>[...n[7]||(n[7]=[m("Search",-1)])]),_:1}),e(y,{modelValue:i(v),"onUpdate:modelValue":n[0]||(n[0]=S=>T(v)?v.value=S:null),placeholder:"Name, email or phone...",class:"h-8"},null,8,["modelValue"])]),x("div",Ge,[e(g,null,{default:t(()=>[...n[8]||(n[8]=[m("Active Status",-1)])]),_:1}),e(R,{modelValue:i(a),"onUpdate:modelValue":n[1]||(n[1]=S=>T(a)?a.value=S:null)},{default:t(()=>[e(U,null,{default:t(()=>[e(k)]),_:1}),e(u,null,{default:t(()=>[e(V,{value:"all"},{default:t(()=>[...n[9]||(n[9]=[m("All",-1)])]),_:1}),e(V,{value:"true"},{default:t(()=>[...n[10]||(n[10]=[m("Active",-1)])]),_:1}),e(V,{value:"false"},{default:t(()=>[...n[11]||(n[11]=[m("Inactive",-1)])]),_:1})]),_:1})]),_:1},8,["modelValue"])]),x("div",Me,[e(g,null,{default:t(()=>[...n[12]||(n[12]=[m("Joined From",-1)])]),_:1}),e(y,{modelValue:i(s),"onUpdate:modelValue":n[2]||(n[2]=S=>T(s)?s.value=S:null),type:"date",class:"h-8"},null,8,["modelValue"])]),x("div",Qe,[e(g,null,{default:t(()=>[...n[13]||(n[13]=[m("Joined To",-1)])]),_:1}),e(y,{modelValue:i(f),"onUpdate:modelValue":n[3]||(n[3]=S=>T(f)?f.value=S:null),type:"date",class:"h-8"},null,8,["modelValue"])])]),e(G,{class:"flex gap-2"},{default:t(()=>[e(r,{variant:"outline",class:"flex-1",onClick:w},{default:t(()=>[...n[14]||(n[14]=[m("Clear",-1)])]),_:1}),e(r,{class:"flex-1",onClick:o},{default:t(()=>[...n[15]||(n[15]=[m("Apply",-1)])]),_:1})]),_:1})]),_:1})]),_:1},8,["open"])}}}),We=Object.assign(Ye,{__name:"StaffPageFilter"}),ua=B({__name:"staff",setup(L){ne({title:"Staffs"});const c=J(),b=N(()=>c.staffs),_=oe(se,{});le(async()=>{var a;await c.fetchAllStaffs(1,10,!1,(a=_.value.company)==null?void 0:a.id)});const v=N(()=>[{id:"index",header:({column:a})=>l($,{column:a,title:"#"}),cell:({row:a})=>l("div",{class:"w-full flex justify-center items-center justify-center"},b.value.page*10-10+a.index+1),enableSorting:!1,enableHiding:!1},{id:"profile_image",header:({column:a})=>l($,{column:a,title:"Profile"}),cell:({row:a})=>l("div",{class:"w-full flex justify-center items-center justify-center"},[l(re,{img_url:a.original.main_image,full_name:a.original.name||""})]),enableSorting:!1,enableHiding:!1},{id:"name",header:({column:a})=>l($,{column:a,title:"Name"}),cell:({row:a})=>{var s;return l("div",{class:"w-full flex flex-col justify-center items-center justify-center py-4 gap-2"},[l("div",{class:"text-md font-bold"},`${a.original.name||""}`),l("span",{class:"text-xs text-gray-500"},`${((s=a.original.company)==null?void 0:s.company_name)||""}`)])},enableSorting:!0,enableHiding:!0},{accessorKey:"active",header:({column:a})=>l($,{column:a,title:"Active Status"}),cell:({row:a})=>l("div",{class:"w-full flex justify-center"},[l(O,{variant:a.original.active?"dark_green":"destructive"},()=>a.original.active?"Active":"InActive")]),enableSorting:!1,enableHiding:!1},{id:"email",header:({column:a})=>l($,{column:a,title:"email"}),cell:({row:a})=>l("div",{class:"w-full flex justify-center items-center justify-center"},[l(z,{variant:"gray",value:a.original.email})]),enableSorting:!0,enableHiding:!0},{id:"phone",header:({column:a})=>l($,{column:a,title:"phone"}),cell:({row:a})=>l("div",{class:"w-full flex justify-center items-center justify-center"},[l(z,{variant:"yellow",value:a.original.phone})]),enableSorting:!0,enableHiding:!0}
1,{id:"user_type",header:({column:a})=>l($,{column:a,title:"User Group"}),cell:({row:a})=>l("div",{class:"w-full flex justify-center items-center justify-center"},[l(O,{variant:"orange",class:"capitalize"},()=>a.original.user_type)]),enableSorting:!0,enableHiding:!0},{accessorKey:"created_at",header:({column:a})=>l($,{column:a,title:"Joined Date"}),cell:({row:a})=>{const s=new Date(a.original.created_at);return l("div",{class:"w-full flex justify-center items-center justify-center"},ie(s).value)},enableSorting:!0,enableHiding:!0},{id:"actions",cell:({row:a})=>l(me,{row:a})}]);return(a,s)=>{const f=q,C=ze,d=$e,o=Ce,w=We,H=Y,n=Be;return E(),I(n,{class:"pt-10"},{default:t(()=>[e(d,{name:"Staffs",sub_name:"All Staffs"},{default:t(()=>[e(C,null,{default:t(()=>[e(f,null,{default:t(()=>[...s[3]||(s[3]=[m("Add Staff",-1)])]),_:1})]),_:1})]),_:1}),e(H,{"pagination-details":i(b),columns:i(v),data:i(b).data,loading:i(c).loading,"tool-bar-actions":[],"disable-search":"",onOnPaginationChange:s[2]||(s[2]=async p=>{var r;await i(c).fetchAllStaffs(p,10,!1,(r=i(_).value.company)==null?void 0:r.id)})},{"expanded-row":t(({row:p,isExpanded:r})=>[e(o,{row:p,"is-expanded":r,onExpand:()=>{p.toggleExpanded(!0)},onCollapse:()=>{p.toggleExpanded(!1)}},null,8,["row","is-expanded","onExpand","onCollapse"])]),endFilters:t(()=>[e(w,{onApply:s[0]||(s[0]=p=>{var r;return i(c).fetchAllStaffs(1,10,!1,(r=i(_).value.company)==null?void 0:r.id,p)}),onClear:s[1]||(s[1]=p=>{var r;return i(c).fetchAllStaffs(1,10,!1,(r=i(_).value.company)==null?void 0:r.id)})})]),_:1},8,["pagination-details","columns","data","loading"])]),_:1})}}});
1export{ua 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.