1import{r as n,j as e,u as R,n as G}from"./index-deed779c.js";import{H as D}from"./HeaderAdmin-3dbca08d.js";import{T as w,y,M as E,A as L}from"./App-785601ba.js";import{P as U}from"./Pagination-386f4a62.js";import{B as V}from"./Button-88127f00.js";import{I as Y}from"./ICPlus-c8637889.js";import{I as $}from"./InputAdmin-b1a61ada.js";import{I as H}from"./ICClear-ee9aefcd.js";import{I as f}from"./Input-1ea3c30f.js";import{S as z}from"./SelectInput-b50f5e93.js";import{T as Q,G as Z}from"./TitleForm-61525bee.js";import{T as h}from"./TextError-a3cc652f.js";import{T as x}from"./TitleInput-b0cc2ffd.js";import{u as C}from"./user-8fdabb32.js";import{u as J,c as K,a as p}from"./index.esm-68a9904c.js";import{D as W}from"./DialogConfirmDelete-b4058d34.js";import{R as i}from"./user-d941b256.js";import{l as X}from"./lodash-5c593f61.js";import{P as B}from"./contain-4814a90a.js";import{A as ee}from"./Avatar-030d8f31.js";import"./index-334e8082.js";const re=({onSubmit:r})=>{const{t:l}=n.useContext(w),{showSuccess:g,showError:o}=n.useContext(y),{hideModal:a}=n.useContext(E),s=J({initialValues:{email:"",login:"",password:"",fullname:"",yearOfBirth:"",gender:"",position:"",phoneNumber:""},validationSchema:K({email:p().required("message.warning._required"),login:p().required("message.warning._required"),password:p().required("message.warning._required"),fullname:p().required("message.warning._required"),yearOfBirth:p().required("message.warning._required"),gender:p().required("message.warning._required"),position:p().required("message.warning._required"),phoneNumber:p().required("message.warning._required")}),onSubmit:m=>{C.post(m).then(c=>{g("message.success._success"),r(),s.resetForm()}).catch(()=>{o("message.error._error")}).finally(()=>{a()})}});return e.jsxs("div",{className:"w-[800px] bg-white py-[40px] px-[24px]",children:[e.jsx(Q,{title:"account._form_create._title"}),e.jsxs("form",{onSubmit:s.handleSubmit,className:"grid grid-cols-2 gap-[24px] [&>div]:relative",children:[e.jsxs("div",{children:[e.jsx(x,{forId:"fullname",name:"account._form_create._name._name"}),e.jsx(f,{id:"fullname",placeholder:"account._form_create._name._placeholder",className:"h-[44px]",value:s.values.fullname,onChange:s.handleChange,name:"fullname",onBlur:s.handleBlur})]}),s.errors.fullname&&s.touched.fullname&&e.jsx(h,{message:s.errors.fullname}),e.jsxs("div",{children:[e.jsx(x,{forId:"gender",name:"account._form_create._gender._name"}),e.jsx(z,{id:"gender",className:"text-_14 !text-bg_7E8B99",name:"gender",value:s.values.gender,onChange:s.handleChange,children:e.jsxs(e.Fragment,{children:[e.jsx("option",{value:"",disabled:!0,children:l("account._form_create._gender._placeholder")}),e.jsx("option",{value:"Nam",children:l("common._male")}),e.jsx("option",{value:"Nữ",children:l("common._female")})]})}),s.errors.gender&&s.touched.gender&&e.jsx(h,{message:s.errors.gender})]}),e.jsxs("div",{children:[e.jsx(x,{forId:"yearOfBirth",name:"account._form_create._year._name"}),e.jsx(f,{id:"yearOfBirth",value:s.values.yearOfBirth,onChange:s.handleChange,placeholder:"account._form_create._year._placeholder",className:"h-[44px]",name:"yearOfBirth"}),s.errors.yearOfBirth&&s.touched.yearOfBirth&&e.jsx(h,{message:s.errors.yearOfBirth})]}),e.jsxs("div",{children:[e.jsx(x,{forId:"position",name:"account._form_create._position._name"}),e.jsx(f,{id:"position",name:"position",value:s.values.position,onChange:s.handleChange,placeholder:"account._form_create._position._placeholder",className:"h-[44px]"}),s.errors.position&&s.touched.position&&e.jsx(h,{message:s.errors.position})]}),e.jsxs("div",{children:[e.jsx(x,{forId:"email",name:"account._form_create._email._name"}),e.jsx(f,{id:"email",name:"email",value:s.values.email,onChange:s.handleChange,placeholder:"account._form_create._email._placeholder",className:"h-[44px]"}),s.errors.email&&s.touched.email&&e.jsx(h,{message:s.errors.email})]}),e.jsxs("div",{children:[e.jsx(x,{forId:"phoneNumber",name:"account._form_create._phone._name"}),e.jsx(f,{id:"phoneNumber",name:"phoneNumber",value:s.values.phoneNumber,onChange:s.handleChange,placeholder:"account._form_create._phone._placeholder",className:"h-[44px]"})]}),s.errors.phoneNumber&&s.touched.phoneNumber&&e.jsx(h,{message:s.errors.phoneNumber}),e.jsxs("div",{children:[e.jsx(x,{forId:"login",name:"account._form_create._username._name"}),e.jsx(f,{id:"login",name:"login",value:s.values.login,onChange:s.handleChange,placeholder:"account._form_create._username._placeholder",className:"h-[44px]"}),s.errors.login&&s.touched.login&&e.jsx(h,{message:s.errors.login})]}),e.jsxs("div",{children:[e.jsx(x,{forId:"password",name:"account._form_create._password._name"}),e.jsx(f,{id:"password",name:"password",value:s.values.password,onChange:s.handleChange,placeholder:"account._form_create._password._placeholder",className:"h-[44px]"}),e.jsx("div",{children:s.errors.password&&s.touched.password&&e.jsx(h,{message:s.errors.password})}),e.jsx("div",{className:" mt-[24px] col-span-2",children:e.jsx(Z,{})})]})]})]})},we=()=>{const[r,l]=n.useState(1),{setElementModal:g}=n.useContext(E),[o,a]=n.useState(),[s,m]=R(),[c,N]=n.useState(""),u=n.useRef(),[b,v]=n.useState(!1),{showSuccess:I,showError:M}=n.useContext(y),A=n.useCallback(d=>{const t=d.target.value;N(t),t.trim()&&(l(1),m({page:"1"}))},[]),_=n.useCallback((d,t)=>{v(!0),C.getBySearch({page:d-1,size:B,sort:"login,asc"},t).then(j=>{a(j)}).finally(()=>{v(!1)})},[]),q=n.useCallback((d,t)=>{u.current&&u.current.cancel(),u.current=X.debounce(()=>{_(d,t)},300),u.current()},[_]);n.useEffect(()=>{c.trim()?q(Number(r??1),c):(u.current&&u.current.cancel(),_(Number(r??1),c))},[r,_,q,c]);const T=()=>{g(e.jsx(re,{onSubmit:k}))},k=()=>{_(1,c),m({page:"1"}),l(1)},S=n.useMemo(()=>Math.ceil(Number((o==null?void 0:o.total)??0)/B),[o==null?void 0:o.total]),P=n.useCallback(d=>
1{C.delete(d).then(()=>{I("message.success._success");let t=Number(r);if(o!=null&&o.data.length&&(o==null?void 0:o.data.length)>1){const j=[...o==null?void 0:o.data],F=j.findIndex(O=>O.id===d);j.splice(F,1),a({data:[...j],total:o.total});return}if(Number(r)>=S){t=t-1,m({page:`${t}`}),l(t);return}_(t,c)}).catch(()=>{M("message.error._error")})},[I,r,o,S,_,c,m,M]);return e.jsxs("div",{className:"px-[24px]",children:[e.jsx(D,{title:"account._title"}),e.jsxs("div",{className:"flex items-center h-[48px]",children:[e.jsx($,{searchQuery:c,onChange:A}),e.jsx(V,{onClick:T,color:"primary",text:"account._btn_create",className:"bg-secondary ml-[24px] !w-[200px] h-[48px]",imageLeft:e.jsx(Y,{})})]}),e.jsx(se,{onDelete:P,loading:b,data:(o==null?void 0:o.data)??[]}),e.jsx("div",{className:"mt-[120px] flex justify-end",children:e.jsx(U,{currenPage:r,setCurrentPage:l,total:S})})]})},se=n.memo(({data:r,loading:l,onDelete:g})=>{const{t:o}=n.useContext(w);return e.jsxs(e.Fragment,{children:[e.jsxs("div",{className:"pb-[14px] grid grid-cols-4 mt-[40px] text-_18 font-semibold text-text_primary border-b-[1px] border-solid border-br_E9ECEF",children:[e.jsx("div",{className:" col-span-2",children:o("account._form._name")}),e.jsx("div",{children:o("account._form._role")}),e.jsx("div",{className:"flex justify-end",children:o("account._form._function")})]}),l?e.jsx(G,{}):r.map((a,s)=>e.jsx(oe,{onDelete:g,data:a},s))]})}),oe=({data:r,onDelete:l})=>{const{t:g}=n.useContext(w),{setElementModal:o}=n.useContext(E),{user:a}=n.useContext(L),{showSuccess:s,showError:m}=n.useContext(y),c=()=>{o(e.jsx(W,{onClick:N,message:g("admin._notice._delete_user",{name:r==null?void 0:r.login})}))},N=()=>{l((r==null?void 0:r.id)+"")},u=b=>{const v=b.target.value;C.updateRole((r==null?void 0:r.id)+"",v).then(()=>{s("message.success._success")}).catch(()=>{m("message.error._error"),b.target.value=(r==null?void 0:r.role)+""})};return e.jsxs("div",{className:"py-[16px] grid grid-cols-4 text-_18 font-semibold text-text_primary border-b-[1px] border-solid border-br_E9ECEF",children:[e.jsxs("div",{className:"flex col-span-2 items-center gap-x-2",children:[e.jsx(ee,{link:r.imageUrl,name:r.login??""}),e.jsxs("div",{children:[e.jsx("p",{className:"text-_14 font-semibold text-text_black",children:r==null?void 0:r.login}),e.jsx("p",{className:"text-_12 font-medium text-text_565656",children:r==null?void 0:r.email})]})]}),e.jsx("div",{children:e.jsxs("select",{id:"default",defaultValue:r==null?void 0:r.role,onChange:u,className:"border w-[172px] border-br_E9ECEF text-text_primary text-_14 block p-2.5 ",children:[e.jsx("option",{disabled:(a==null?void 0:a.login)===(r==null?void 0:r.login)&&r.role===i.ADMIN||(r==null?void 0:r.role)===i.SYSTEM||(a==null?void 0:a.login)!==(r==null?void 0:r.login)&&r.role===i.ADMIN&&(a==null?void 0:a.role)===i.ADMIN,value:i.ADMIN,children:"Admin"}),e.jsx("option",{disabled:!0,value:i.SYSTEM,children:"System"}),e.jsx("option",{disabled:(a==null?void 0:a.login)===(r==null?void 0:r.login)||(r==null?void 0:r.role)===i.SYSTEM,value:i.USER,children:"Member"})]})}),e.jsx("div",{className:"flex justify-end",children:r.role!==i.SYSTEM?e.jsx("button",{onClick:c,children:e.jsx(H,{})}):null})]})};export{we as Account};
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.