admin/dist/assets/RolesListPage-ead5d22a.js

2 lines
10 KiB
JavaScript

import{j as e}from"./vendor-query-a3e439f2.js";import{u as a,r}from"./vendor-react-ac1483bd.js";import{u as s,a as t}from"./_hooks-653fd77f.js";import{P as d,b as i,B as l}from"./index-590deac5.js";import{M as x}from"./Modal-8110908d.js";import{U as c,m as n,j as g,x as o,b as m,y as h}from"./vendor-ui-8a3c5c7d.js";import"./_requests-35c9d4c3.js";import"./vendor-toast-598db4db.js";const y=()=>e.jsxs("div",{className:"bg-white dark:bg-gray-800 shadow-sm border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden",children:[e.jsx("div",{className:"hidden md:block",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"min-w-full divide-y divide-gray-200 dark:divide-gray-700",children:[e.jsx("thead",{className:"bg-gray-50 dark:bg-gray-700",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"نام نقش"}),e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"توضیحات"}),e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"تاریخ ایجاد"}),e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"عملیات"})]})}),e.jsx("tbody",{className:"bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700",children:[...Array(5)].map((a,r)=>e.jsxs("tr",{className:"animate-pulse",children:[e.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:e.jsx("div",{className:"h-4 bg-gray-300 dark:bg-gray-600 rounded w-32"})}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:e.jsx("div",{className:"h-4 bg-gray-300 dark:bg-gray-600 rounded w-48"})}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:e.jsx("div",{className:"h-4 bg-gray-300 dark:bg-gray-600 rounded w-20"})}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap",children:e.jsxs("div",{className:"flex gap-2",children:[e.jsx("div",{className:"h-8 w-8 bg-gray-300 dark:bg-gray-600 rounded"}),e.jsx("div",{className:"h-8 w-8 bg-gray-300 dark:bg-gray-600 rounded"}),e.jsx("div",{className:"h-8 w-8 bg-gray-300 dark:bg-gray-600 rounded"})]})})]},r))})]})})}),e.jsx("div",{className:"md:hidden p-4 space-y-4",children:[...Array(3)].map((a,r)=>e.jsx("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg p-4 animate-pulse",children:e.jsxs("div",{className:"space-y-3",children:[e.jsx("div",{className:"h-5 bg-gray-300 dark:bg-gray-600 rounded w-3/4"}),e.jsx("div",{className:"h-4 bg-gray-300 dark:bg-gray-600 rounded w-full"}),e.jsx("div",{className:"h-3 bg-gray-300 dark:bg-gray-600 rounded w-1/3"}),e.jsxs("div",{className:"flex gap-2 pt-2",children:[e.jsx("div",{className:"h-8 w-8 bg-gray-300 dark:bg-gray-600 rounded"}),e.jsx("div",{className:"h-8 w-8 bg-gray-300 dark:bg-gray-600 rounded"}),e.jsx("div",{className:"h-8 w-8 bg-gray-300 dark:bg-gray-600 rounded"})]})]})},r))})]}),p=()=>{const p=a(),[j,b]=r.useState(null),[k,N]=r.useState({search:""}),{data:u,isLoading:v,error:w}=s(k),{mutate:f,isPending:C}=t(),S=()=>{p("/roles/create")},D=e=>{p(`/roles/${e}`)},_=e=>{p(`/roles/${e}/edit`)},A=e=>{p(`/roles/${e}/permissions`)},L=()=>{b(null)};return w?e.jsx("div",{className:"p-6",children:e.jsx("div",{className:"text-center py-12",children:e.jsx("p",{className:"text-red-600 dark:text-red-400",children:"خطا در بارگذاری نقش‌ها"})})}):e.jsxs(d,{children:[e.jsxs("div",{className:"flex flex-col space-y-3 sm:flex-row sm:items-center sm:justify-between sm:space-y-0",children:[e.jsxs("div",{children:[e.jsxs("div",{className:"flex items-center gap-2 mb-2",children:[e.jsx(c,{className:"h-6 w-6"}),e.jsx(i,{children:"مدیریت نقش‌ها"})]}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400",children:"مدیریت نقش‌ها و دسترسی‌های سیستم"})]}),e.jsx("button",{onClick:S,className:"flex items-center justify-center w-12 h-12 bg-primary-600 hover:bg-primary-700 rounded-full transition-colors duration-200 text-white shadow-lg hover:shadow-xl",title:"نقش جدید",children:e.jsx(n,{className:"h-5 w-5"})})]}),e.jsx("div",{className:"bg-white dark:bg-gray-800 shadow-sm border border-gray-200 dark:border-gray-700 rounded-lg p-4",children:e.jsx("div",{className:"grid grid-cols-1 md:grid-cols-2 gap-4",children:e.jsxs("div",{children:[e.jsx("label",{className:"block text-sm font-medium text-gray-700 dark:text-gray-300 mb-2",children:"جستجو"}),e.jsx("input",{type:"text",placeholder:"جستجو در نام یا توضیحات نقش...",value:k.search,onChange:e=>{N(a=>({...a,search:e.target.value}))},className:"w-full px-3 py-2 border border-gray-300 dark:border-gray-600 rounded-md focus:outline-none focus:ring-1 focus:ring-primary-500 dark:bg-gray-700 dark:text-gray-100"})]})})}),v?e.jsx(y,{}):0===(u||[]).length?e.jsx("div",{className:"bg-white dark:bg-gray-800 shadow-sm border border-gray-200 dark:border-gray-700 rounded-lg",children:e.jsxs("div",{className:"text-center py-12",children:[e.jsx(c,{className:"h-12 w-12 text-gray-400 dark:text-gray-500 mx-auto mb-4"}),e.jsx("h3",{className:"text-lg font-medium text-gray-900 dark:text-gray-100 mb-2",children:"هیچ نقش یافت نشد"}),e.jsx("p",{className:"text-gray-600 dark:text-gray-400 mb-4",children:k.search?"نتیجه‌ای برای جستجوی شما یافت نشد":"شما هنوز هیچ نقش ایجاد نکرده‌اید"}),e.jsxs(l,{onClick:S,className:"flex items-center gap-2",children:[e.jsx(n,{className:"h-4 w-4 ml-2"}),"اولین نقش را ایجاد کنید"]})]})}):e.jsxs("div",{className:"bg-white dark:bg-gray-800 shadow-sm border border-gray-200 dark:border-gray-700 rounded-lg overflow-hidden",children:[e.jsx("div",{className:"hidden md:block",children:e.jsx("div",{className:"overflow-x-auto",children:e.jsxs("table",{className:"min-w-full divide-y divide-gray-200 dark:divide-gray-700",children:[e.jsx("thead",{className:"bg-gray-50 dark:bg-gray-700",children:e.jsxs("tr",{children:[e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"نام نقش"}),e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"توضیحات"}),e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"تاریخ ایجاد"}),e.jsx("th",{className:"px-6 py-3 text-right text-xs font-medium text-gray-500 dark:text-gray-300 uppercase tracking-wider",children:"عملیات"})]})}),e.jsx("tbody",{className:"bg-white dark:bg-gray-800 divide-y divide-gray-200 dark:divide-gray-700",children:(u||[]).map(a=>e.jsxs("tr",{className:"hover:bg-gray-50 dark:hover:bg-gray-700",children:[e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-900 dark:text-gray-100",children:a.title}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-900 dark:text-gray-100",children:a.description}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm text-gray-900 dark:text-gray-100",children:new Date(a.created_at).toLocaleDateString("fa-IR")}),e.jsx("td",{className:"px-6 py-4 whitespace-nowrap text-sm font-medium",children:e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsx("button",{onClick:()=>D(a.id),className:"text-blue-600 hover:text-blue-900 dark:text-blue-400 dark:hover:text-blue-300",title:"مشاهده",children:e.jsx(g,{className:"h-4 w-4"})}),e.jsx("button",{onClick:()=>_(a.id),className:"text-indigo-600 hover:text-indigo-900 dark:text-indigo-400 dark:hover:text-indigo-300",title:"ویرایش",children:e.jsx(o,{className:"h-4 w-4"})}),e.jsx("button",{onClick:()=>A(a.id),className:"text-green-600 hover:text-green-900 dark:text-green-400 dark:hover:text-green-300",title:"مدیریت دسترسی‌ها",children:e.jsx(m,{className:"h-4 w-4"})}),e.jsx("button",{onClick:()=>b(a.id.toString()),className:"text-red-600 hover:text-red-900 dark:text-red-400 dark:hover:text-red-300",title:"حذف",children:e.jsx(h,{className:"h-4 w-4"})})]})})]},a.id))})]})})}),e.jsx("div",{className:"md:hidden p-4 space-y-4",children:(u||[]).map(a=>e.jsxs("div",{className:"border border-gray-200 dark:border-gray-700 rounded-lg p-4",children:[e.jsx("div",{className:"flex justify-between items-start mb-2",children:e.jsxs("div",{children:[e.jsx("h3",{className:"text-sm font-medium text-gray-900 dark:text-gray-100",children:a.title}),e.jsx("p",{className:"text-sm text-gray-600 dark:text-gray-400",children:a.description})]})}),e.jsxs("div",{className:"text-xs text-gray-500 dark:text-gray-400 mb-3",children:["تاریخ ایجاد: ",new Date(a.created_at).toLocaleDateString("fa-IR")]}),e.jsxs("div",{className:"flex items-center gap-2",children:[e.jsxs("button",{onClick:()=>D(a.id),className:"flex items-center gap-1 px-2 py-1 text-xs text-blue-600 hover:text-blue-900 dark:text-blue-400 dark:hover:text-blue-300",children:[e.jsx(g,{className:"h-3 w-3"}),"مشاهده"]}),e.jsxs("button",{onClick:()=>_(a.id),className:"flex items-center gap-1 px-2 py-1 text-xs text-indigo-600 hover:text-indigo-900 dark:text-indigo-400 dark:hover:text-indigo-300",children:[e.jsx(o,{className:"h-3 w-3"}),"ویرایش"]}),e.jsxs("button",{onClick:()=>A(a.id),className:"flex items-center gap-1 px-2 py-1 text-xs text-green-600 hover:text-green-900 dark:text-green-400 dark:hover:text-green-300",children:[e.jsx(m,{className:"h-3 w-3"}),"دسترسی‌ها"]}),e.jsxs("button",{onClick:()=>b(a.id.toString()),className:"flex items-center gap-1 px-2 py-1 text-xs text-red-600 hover:text-red-900 dark:text-red-400 dark:hover:text-red-300",children:[e.jsx(h,{className:"h-3 w-3"}),"حذف"]})]})]},a.id))})]}),e.jsx(x,{isOpen:!!j,onClose:L,title:"تأیید حذف",size:"sm",children:e.jsxs("div",{className:"space-y-4",children:[e.jsx("p",{className:"text-gray-600 dark:text-gray-300",children:"آیا از حذف این نقش اطمینان دارید؟ این عمل قابل بازگشت نیست."}),e.jsxs("div",{className:"flex justify-end gap-3",children:[e.jsx(l,{variant:"secondary",onClick:L,children:"انصراف"}),e.jsx(l,{variant:"danger",onClick:()=>{j&&f(j,{onSuccess:()=>{b(null)}})},loading:C,children:"حذف"})]})]})})]})};export{p as default};