open ticket
This commit is contained in:
@@ -8,6 +8,7 @@ import { Pages } from '../../config/Pages'
|
||||
import { useGetTickets } from './hooks/useTicketData'
|
||||
import moment from 'moment-jalaali'
|
||||
import { TicketItemType } from './types/TicketTypes'
|
||||
import OpenTicket from './components/OpenTicket'
|
||||
|
||||
const TicketList: FC = () => {
|
||||
|
||||
@@ -111,9 +112,17 @@ const TicketList: FC = () => {
|
||||
<Td text={t(`ticket.${item.status}`)} />
|
||||
<Td text={t(`ticket.${item.priority}`)} />
|
||||
<Td text={''}>
|
||||
<Link to={Pages.ticket.detail + item.id}>
|
||||
<Eye size={20} color='#8C90A3' />
|
||||
</Link>
|
||||
<div className='flex items-center gap-2'>
|
||||
<Link to={Pages.ticket.detail + item.id}>
|
||||
<Eye size={20} color='#8C90A3' />
|
||||
</Link>
|
||||
|
||||
{
|
||||
item.status === 'CLOSED' && (
|
||||
<OpenTicket refetch={getTicket.refetch} id={item.id} />
|
||||
)
|
||||
}
|
||||
</div>
|
||||
</Td>
|
||||
<Td text={''} />
|
||||
</tr>
|
||||
|
||||
@@ -0,0 +1,34 @@
|
||||
import { FC } from 'react'
|
||||
import Button from '../../../components/Button'
|
||||
import { useOpenTicket } from '../hooks/useTicketData'
|
||||
|
||||
type Props = {
|
||||
id: string,
|
||||
refetch: () => void
|
||||
}
|
||||
|
||||
const OpenTicket: FC<Props> = ({ id, refetch }) => {
|
||||
|
||||
const { mutate: openTicket, isPending } = useOpenTicket()
|
||||
|
||||
const handleOpenTicket = () => {
|
||||
openTicket(id, {
|
||||
onSuccess: () => {
|
||||
refetch()
|
||||
}
|
||||
})
|
||||
}
|
||||
|
||||
return (
|
||||
<div>
|
||||
<Button
|
||||
label={'باز کردن تیکت'}
|
||||
onClick={handleOpenTicket}
|
||||
className='px-4 h-8 text-xs'
|
||||
isLoading={isPending}
|
||||
/>
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
export default OpenTicket
|
||||
@@ -57,3 +57,9 @@ export const useReferTicket = () => {
|
||||
api.referTicket(variables.id, variables.userId),
|
||||
});
|
||||
};
|
||||
|
||||
export const useOpenTicket = () => {
|
||||
return useMutation({
|
||||
mutationFn: (id: string) => api.openTicket(id),
|
||||
});
|
||||
};
|
||||
|
||||
@@ -44,3 +44,8 @@ export const referTicket = async (id: string, userId: string) => {
|
||||
});
|
||||
return data;
|
||||
};
|
||||
|
||||
export const openTicket = async (id: string) => {
|
||||
const { data } = await axios.post(`/tickets/${id}/open`);
|
||||
return data;
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user