113 lines
5.9 KiB
JavaScript
113 lines
5.9 KiB
JavaScript
"use client";
|
|
|
|
import AppContext from "@ctx/AppContext";
|
|
import React, { useContext } from "react";
|
|
import Avatar from "boring-avatars";
|
|
import PersianNumber from "plugins/PersianNumber";
|
|
import HasPermission from "plugins/HasPermission/page";
|
|
import NothingFound from "plugins/NothingFound/page";
|
|
|
|
const UsersEmployees = () => {
|
|
const CTX = useContext(AppContext);
|
|
const usersData = CTX.state.usersData;
|
|
const permissions = CTX.state.profile?.permissions;
|
|
|
|
const goToEditUser = (id) => {
|
|
CTX.setGoToEditUser(true);
|
|
CTX.setBottomSheetCreateEmployeesOpen(true);
|
|
CTX.setIdEditUser(id);
|
|
};
|
|
|
|
return (
|
|
<>
|
|
{usersData.length > 0 ? (
|
|
<>
|
|
{usersData.map((e) => (
|
|
<div className="m-2 bg-white shadow-sm rounded-full p-2 ">
|
|
<div className="flex ">
|
|
<div className=" rounded-full sahdow-sm ">
|
|
<Avatar
|
|
size={30}
|
|
name={e.firstName}
|
|
variant="beam"
|
|
colors={["#9d9f88", "#83af96", "#b2de93"]}
|
|
/>
|
|
</div>
|
|
<div className=" flex justify-between w-full mx-2 ">
|
|
<div className="flex mt-1">
|
|
<h4 className="text-sm font-bold text-secondary-950">
|
|
{e.firstName} {e.lastName}
|
|
</h4>
|
|
|
|
<div className="w-[2px] h-5 mx-2 bg-primary-200 opacity-75 "></div>
|
|
<p className="mb-0 text-sm text-secondary-600 ">
|
|
{e.roleNames.length > 0
|
|
? e.roleNames.length <= 1
|
|
? e.roleNames[0]
|
|
: e.roleNames[0] + " ......"
|
|
: "هیچی پیدا نمیشه براش ...."}
|
|
</p>
|
|
</div>
|
|
<div className="flex">
|
|
{HasPermission("ManageUsers", permissions) && (
|
|
<>
|
|
<div
|
|
className="w-[30px] h-[30px] bg-secondary-950 rounded-full"
|
|
onClick={() => goToEditUser(e.userId)}
|
|
>
|
|
<svg
|
|
width="13"
|
|
height="13"
|
|
viewBox="0 0 18 18"
|
|
fill="none"
|
|
xmlns="http://www.w3.org/2000/svg"
|
|
className="mx-auto mt-[8px]"
|
|
>
|
|
<g clip-path="url(#clip0_72_994)">
|
|
<path
|
|
d="M11.4653 2.36397L10.77 3.05922L4.37926 9.44922C3.94651 9.88272 3.72976 10.0995 3.54376 10.338C3.32409 10.6194 3.13573 10.924 2.98201 11.2462C2.85226 11.5192 2.75551 11.8102 2.56201 12.3907L1.74151 14.8515L1.54051 15.453C1.4935 15.5932 1.48652 15.7437 1.52037 15.8877C1.55422 16.0316 1.62755 16.1633 1.73212 16.2679C1.83669 16.3724 1.96835 16.4458 2.1123 16.4796C2.25626 16.5135 2.4068 16.5065 2.54701 16.4595L3.14851 16.2585L5.60926 15.438C6.19051 15.2445 6.48076 15.1477 6.75376 15.018C7.07626 14.8642 7.38076 14.676 7.66201 14.4562C7.90051 14.2702 8.11726 14.0535 8.55001 13.6207L14.9408 7.22997L15.636 6.53472C16.1891 5.98165 16.4998 5.23152 16.4998 4.44935C16.4998 3.66718 16.1891 2.91705 15.636 2.36397C15.0829 1.8109 14.3328 1.50018 13.5506 1.50018C12.7685 1.50018 12.0183 1.8109 11.4653 2.36397Z"
|
|
stroke="black"
|
|
stroke-width="1.5"
|
|
/>
|
|
<path
|
|
d="M11.4653 2.36397L10.77 3.05922L4.37926 9.44922C3.94651 9.88272 3.72976 10.0995 3.54376 10.338C3.32409 10.6194 3.13573 10.924 2.98201 11.2462C2.85226 11.5192 2.75551 11.8102 2.56201 12.3907L1.74151 14.8515L1.54051 15.453C1.4935 15.5932 1.48652 15.7437 1.52037 15.8877C1.55422 16.0316 1.62755 16.1633 1.73212 16.2679C1.83669 16.3724 1.96835 16.4458 2.1123 16.4796C2.25626 16.5135 2.4068 16.5065 2.54701 16.4595L3.14851 16.2585L5.60926 15.438C6.19051 15.2445 6.48076 15.1477 6.75376 15.018C7.07626 14.8642 7.38076 14.676 7.66201 14.4562C7.90051 14.2702 8.11726 14.0535 8.55001 13.6207L14.9408 7.22997L15.636 6.53472C16.1891 5.98165 16.4998 5.23152 16.4998 4.44935C16.4998 3.66718 16.1891 2.91705 15.636 2.36397C15.0829 1.8109 14.3328 1.50018 13.5506 1.50018C12.7685 1.50018 12.0183 1.8109 11.4653 2.36397Z"
|
|
stroke="white"
|
|
stroke-width="1.5"
|
|
/>
|
|
<g opacity="0.5">
|
|
<path
|
|
d="M10.77white 3.05847C10.77 3.05847 10.857 4.53597 12.1605 5.83947C13.464 7.14297 14.9408 7.22922 14.9408 7.22922M3.14852 16.2585L1.74152 14.85"
|
|
stroke="white"
|
|
stroke-width="1.5"
|
|
/>
|
|
<path
|
|
d="M10.77 3.05847C10.77 3.05847 10.857 4.53597 12.1605 5.83947C13.464 7.14297 14.9408 7.22922 14.9408 7.22922M3.14852 16.2585L1.74152 14.85"
|
|
stroke="white"
|
|
stroke-width="1.5"
|
|
/>
|
|
</g>
|
|
</g>
|
|
<defs>
|
|
<clipPath id="clip0_72_994">
|
|
<rect width="18" height="18" fill="white" />
|
|
</clipPath>
|
|
</defs>
|
|
</svg>
|
|
</div>
|
|
</>
|
|
)}
|
|
</div>
|
|
</div>
|
|
</div>
|
|
</div>
|
|
))}
|
|
</>
|
|
) : (
|
|
<NothingFound />
|
|
)}
|
|
</>
|
|
);
|
|
};
|
|
|
|
export default UsersEmployees;
|