diff --git a/src/Pages/Admin/User/Model/EditModel.tsx b/src/Pages/Admin/User/Model/EditModel.tsx index 7ad2674..eead225 100644 --- a/src/Pages/Admin/User/Model/EditModel.tsx +++ b/src/Pages/Admin/User/Model/EditModel.tsx @@ -16,6 +16,7 @@ const EditModel: React.FC = () => { ...values, }); }; + return ( <> { getValidationSchema={getValidationSchema} isAddModal={false} > - + ); diff --git a/src/Pages/Admin/User/Model/ModelForm.tsx b/src/Pages/Admin/User/Model/ModelForm.tsx index ca69401..3792e43 100644 --- a/src/Pages/Admin/User/Model/ModelForm.tsx +++ b/src/Pages/Admin/User/Model/ModelForm.tsx @@ -1,16 +1,30 @@ import { Col, Row } from "reactstrap"; import ValidationField from "../../../../Components/ValidationField/ValidationField"; +import { convert_data_to_select } from "../../../../Components/ValidationField"; +import useFormatDataToSelect from "../../../../utils/useFormatDataToSelect"; -const Form = () => { +const Form = ({isEdit}:{isEdit?:boolean}) => { + + const typeOptions = [ + { id: "student", name: "student" }, + { id: "reseller", name: "reseller" }, + { id: "admin", name: "admin" }, + ] + const typeArray = useFormatDataToSelect(typeOptions) + return ( - + + {isEdit ? "" + : + } + + + + + {/* + */} ); diff --git a/src/Pages/Admin/User/Model/formUtil.ts b/src/Pages/Admin/User/Model/formUtil.ts index 9ae0147..e279a35 100644 --- a/src/Pages/Admin/User/Model/formUtil.ts +++ b/src/Pages/Admin/User/Model/formUtil.ts @@ -2,12 +2,21 @@ import * as Yup from "yup"; export const getInitialValues = (objectToEdit: any): any => { return { id: objectToEdit?.id ?? null, - name: objectToEdit?.name ?? null, + username: objectToEdit?.username ?? null, + password: objectToEdit?.password ?? null, + phone_number: objectToEdit?.phone_number ?? null, + type: objectToEdit?.type ?? null, + }; }; export const getValidationSchema = () => { return Yup.object().shape({ - name: Yup.string().required("validation.required"), + username: Yup.string().required("validation.required"), + // password: Yup.string().required("validation.required"), + phone_number: Yup.string() + .required("validation.required") + .min(10, "Phone number must be at least 10 characters long"), + type: Yup.string().required("validation.required"), }); -}; +}; \ No newline at end of file diff --git a/src/Pages/Admin/User/Page.tsx b/src/Pages/Admin/User/Page.tsx index e89ce7b..08f4a4c 100644 --- a/src/Pages/Admin/User/Page.tsx +++ b/src/Pages/Admin/User/Page.tsx @@ -8,6 +8,7 @@ import { useDeleteTag } from "../../../api/tags"; import PageHeader from "../../../Layout/Dashboard/PageHeader"; import FilterLayout from "../../../Layout/Dashboard/FilterLayout"; import FilterForm from "./Model/FilterForm"; +import { useDeleteUser } from "../../../api/user"; const Table = lazy(() => import("./Table")); const AddModalForm = lazy(() => import("./Model/AddModel")); const EditModalForm = lazy(() => import("./Model/EditModel")); @@ -17,8 +18,10 @@ const DeleteModalForm = lazy( const TableHeader = () => { const [t] = useTranslation(); - useSetPageTitle(t(`page_header.user`)); - const deleteMutation = useDeleteTag(); + useSetPageTitle( + t(`page_header.user`), + ); + const deleteMutation = useDeleteUser(); return (
}> diff --git a/src/Pages/Admin/User/Table.tsx b/src/Pages/Admin/User/Table.tsx index 64857fb..0867052 100644 --- a/src/Pages/Admin/User/Table.tsx +++ b/src/Pages/Admin/User/Table.tsx @@ -11,7 +11,7 @@ const App: React.FC = () => { name: searchQuery, pagination: true, }); - + return ; }; diff --git a/src/Pages/Admin/User/useTableColumns.tsx b/src/Pages/Admin/User/useTableColumns.tsx index 253ce02..0ce516b 100644 --- a/src/Pages/Admin/User/useTableColumns.tsx +++ b/src/Pages/Admin/User/useTableColumns.tsx @@ -30,12 +30,23 @@ export const useColumns = () => { align: "center", }, { - title: t("columns.name"), - dataIndex: "name", - key: "name", + title: t("columns.username"), + dataIndex: "username", + key: "username", + align: "center", + }, + { + title: t("columns.phone_number"), + dataIndex: "phone_number", + key: "phone_number", + align: "center", + }, + { + title: t("columns.type"), + dataIndex: "type", + key: "type", align: "center", }, - { title: t("columns.procedure"), key: "actions", diff --git a/src/translate/ar.json b/src/translate/ar.json index 2fa5ec8..db5ff91 100644 --- a/src/translate/ar.json +++ b/src/translate/ar.json @@ -158,9 +158,9 @@ "isBase": "سؤال رئيسي", "question_options_count": "عدد الخيارات", "procedure": "اجراء", - "icon": "الايقونة", - "canAnswersBeShuffled": "يمكن خلط الإجابات", - "first_name":"الاسم الأول" + "icon":"الايقونة", + "canAnswersBeShuffled":"يمكن خلط الإجابات", + "phone_number":"رقم الهاتف" }, "practical": { "to_confirm_deletion_please_re_enter": "لتأكيد الحذف، يرجى إعادة الإدخال",