refer ticket
deploy to danak / build_and_deploy (push) Has been cancelled

This commit is contained in:
hamid zarghami
2026-07-26 14:57:27 +03:30
parent 4bb164be0f
commit 6b96ecf9d9
+44 -46
View File
@@ -1,75 +1,73 @@
import { FC, useState } from 'react' import { FC, useState } from "react";
import { useGetUsers } from '../../users/hooks/useUserData' import { useTranslation } from "react-i18next";
import { useTranslation } from 'react-i18next' import { useParams } from "react-router-dom";
import { UserItemType } from '../../users/types/UserTypes' import Button from "../../../components/Button";
import CheckBoxComponent from '../../../components/CheckBoxComponent' import CheckBoxComponent from "../../../components/CheckBoxComponent";
import { useParams } from 'react-router-dom' import { toast } from "../../../components/Toast";
import { useReferTicket } from '../hooks/useTicketData' import { ErrorType } from "../../../helpers/types";
import Button from '../../../components/Button' import { useGetAdminsListAll } from "../../users/hooks/useUserData";
import { toast } from '../../../components/Toast'; import { UserItemType } from "../../users/types/UserTypes";
import { ErrorType } from '../../../helpers/types' import { useReferTicket } from "../hooks/useTicketData";
type Props = { type Props = {
refetch: () => void refetch: () => void;
} };
const ReferTicket: FC<Props> = ({ refetch }) => { const ReferTicket: FC<Props> = ({ refetch }) => {
const { t } = useTranslation("global");
const { t } = useTranslation('global') const { id } = useParams();
const { id } = useParams() const [userId, setUserId] = useState<string>("");
const [userId, setUserId] = useState<string>('') const getUsers = useGetAdminsListAll();
const getUsers = useGetUsers('', 'tickets') const referTicket = useReferTicket();
const referTicket = useReferTicket()
const handleReferTicket = () => { const handleReferTicket = () => {
referTicket.mutate({ id: id as string, userId }, { referTicket.mutate(
{ id: id as string, userId },
{
onSuccess: () => { onSuccess: () => {
refetch() refetch();
toast(t('ticket.refer_ticket_success'), 'success') toast(t("ticket.refer_ticket_success"), "success");
}, },
onError: (error: ErrorType) => { onError: (error: ErrorType) => {
toast(error.response?.data?.error.message[0], 'error') toast(error.response?.data?.error.message[0], "error");
} },
}) },
} );
};
return ( return (
<div className={'bg-white p-6 rounded-3xl mt-8'}> <div className={"bg-white p-6 rounded-3xl mt-8"}>
<div className='flex justify-between'> <div className="flex justify-between">
<div className='text-sm'> <div className="text-sm">{t("ticket.refer_ticket")}</div>
{t('ticket.refer_ticket')}
</div>
</div> </div>
<div className="mt-4"> <div className="mt-4">
{ {getUsers.data?.data?.map((item: UserItemType) => (
getUsers.data?.data?.users?.map((item: UserItemType) => ( <div
<div key={item.id} className='flex gap-2 items-center'> key={item.id}
className="flex gap-2 items-center"
>
<div> <div>
<CheckBoxComponent <CheckBoxComponent
checked={userId === item.id} checked={userId === item.id}
onChange={(e) => setUserId(e.target.checked ? item.id : '')} onChange={(e) => setUserId(e.target.checked ? item.id : "")}
/> />
</div> </div>
<div className='text-xs leading-5'> <div className="text-xs leading-5">{item.firstName + " " + item.lastName}</div>
{item.firstName + ' ' + item.lastName}
</div> </div>
</div> ))}
))
}
<div className='flex justify-end mt-4'> <div className="flex justify-end mt-4">
<Button <Button
label={t('ticket.refer_ticket')} label={t("ticket.refer_ticket")}
onClick={handleReferTicket} onClick={handleReferTicket}
isLoading={referTicket.isPending} isLoading={referTicket.isPending}
className='w-fit px-7' className="w-fit px-7"
/> />
</div> </div>
</div> </div>
</div> </div>
) );
} };
export default ReferTicket export default ReferTicket;