annoncement
This commit is contained in:
+1
-1
@@ -237,7 +237,7 @@
|
|||||||
"service": "سرویس",
|
"service": "سرویس",
|
||||||
"status": "وضعیت ",
|
"status": "وضعیت ",
|
||||||
"status_paid": "وضعیت پرداخت",
|
"status_paid": "وضعیت پرداخت",
|
||||||
"PENDING": "در انتظار ",
|
"PENDING": "در انتظار تایید ",
|
||||||
"PAID": "پرداخت شده",
|
"PAID": "پرداخت شده",
|
||||||
"CANCELED": "لغو شده",
|
"CANCELED": "لغو شده",
|
||||||
"EXPIRED": "منقضی شده",
|
"EXPIRED": "منقضی شده",
|
||||||
|
|||||||
@@ -21,7 +21,7 @@ const AnnouncementtList: FC = () => {
|
|||||||
|
|
||||||
const handleChange = (item: AnnoncementItemType) => {
|
const handleChange = (item: AnnoncementItemType) => {
|
||||||
if (window.innerWidth < 1280) {
|
if (window.innerWidth < 1280) {
|
||||||
navigate(Pages.announcement.detail + item.id)
|
navigate(Pages.announcement.detail + item.announcement.id)
|
||||||
} else {
|
} else {
|
||||||
setItemSelected(item)
|
setItemSelected(item)
|
||||||
}
|
}
|
||||||
@@ -79,29 +79,32 @@ const AnnouncementtList: FC = () => {
|
|||||||
)}>
|
)}>
|
||||||
<div className='flex justify-between'>
|
<div className='flex justify-between'>
|
||||||
<div className='leading-6 text-xs xl:text-[12.5px] max-w-[70%]'>
|
<div className='leading-6 text-xs xl:text-[12.5px] max-w-[70%]'>
|
||||||
{item.title}
|
{item.announcement.title}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='flex gap-1'>
|
<div className='flex gap-1'>
|
||||||
{
|
{
|
||||||
item.isImportant &&
|
item.announcement.isImportant &&
|
||||||
<StatusWithText
|
<StatusWithText
|
||||||
variant='error'
|
variant='error'
|
||||||
text={t('announcement.important')}
|
text={t('announcement.important')}
|
||||||
/>
|
/>
|
||||||
}
|
}
|
||||||
{/* <StatusWithText
|
{
|
||||||
variant='success'
|
!item.isRead &&
|
||||||
text={t('announcement.new')}
|
<StatusWithText
|
||||||
/> */}
|
variant='success'
|
||||||
|
text={t('announcement.new')}
|
||||||
|
/>
|
||||||
|
}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='m-2 flex justify-between items-center text-[11px]'>
|
<div className='m-2 flex justify-between items-center text-[11px]'>
|
||||||
<div dangerouslySetInnerHTML={{ __html: item.content }} className='max-w-[70%] truncate text-description'>
|
<div dangerouslySetInnerHTML={{ __html: item.announcement.content }} className='max-w-[70%] truncate text-description'>
|
||||||
</div>
|
</div>
|
||||||
<div className='text-description'>
|
<div className='text-description'>
|
||||||
{moment(item.publishAt, 'jYYYY/jMM/jDD').format('jYYYY/jMM/jDD')}
|
{moment(item.announcement.publishAt).format('jYYYY/jMM/jDD')}
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@@ -122,7 +125,7 @@ const AnnouncementtList: FC = () => {
|
|||||||
متن اطلاعیه
|
متن اطلاعیه
|
||||||
</div>
|
</div>
|
||||||
{
|
{
|
||||||
itemSelected.isImportant &&
|
itemSelected.announcement.isImportant &&
|
||||||
<StatusWithText
|
<StatusWithText
|
||||||
variant='error'
|
variant='error'
|
||||||
text={t('announcement.important')}
|
text={t('announcement.important')}
|
||||||
@@ -131,10 +134,10 @@ const AnnouncementtList: FC = () => {
|
|||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div className='mt-8'>
|
<div className='mt-8'>
|
||||||
{itemSelected.title}
|
{itemSelected.announcement.title}
|
||||||
</div>
|
</div>
|
||||||
|
|
||||||
<div dangerouslySetInnerHTML={{ __html: itemSelected.content }} className='mt-5 leading-7 text-xs font-light'>
|
<div dangerouslySetInnerHTML={{ __html: itemSelected.announcement.content }} className='mt-5 leading-7 text-xs font-light'>
|
||||||
|
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
|
|||||||
@@ -1,16 +1,18 @@
|
|||||||
export type AnnoncementItemType = {
|
export type AnnoncementItemType = {
|
||||||
content: string;
|
|
||||||
createdAt: string;
|
|
||||||
id: string;
|
id: string;
|
||||||
isImportant: boolean;
|
createdAt: string;
|
||||||
isPublic: boolean;
|
|
||||||
isRead: boolean;
|
|
||||||
publishAt: string;
|
|
||||||
service: {
|
|
||||||
id: string;
|
|
||||||
name: string;
|
|
||||||
};
|
|
||||||
targetGroups: any[];
|
|
||||||
title: string;
|
|
||||||
updatedAt: string;
|
updatedAt: string;
|
||||||
|
announcement: {
|
||||||
|
id: string;
|
||||||
|
createdAt: string;
|
||||||
|
title: string;
|
||||||
|
content: string;
|
||||||
|
publishAt: string;
|
||||||
|
targetService: {
|
||||||
|
id: string;
|
||||||
|
name: string;
|
||||||
|
};
|
||||||
|
isImportant: boolean;
|
||||||
|
};
|
||||||
|
isRead: boolean;
|
||||||
};
|
};
|
||||||
|
|||||||
@@ -1,4 +1,4 @@
|
|||||||
import { useMutation, useQuery } from "@tanstack/react-query";
|
import { useMutation, useQuery, useQueryClient } from "@tanstack/react-query";
|
||||||
import * as api from "../service/ReceiptService";
|
import * as api from "../service/ReceiptService";
|
||||||
import {
|
import {
|
||||||
ApplyDiscountType,
|
ApplyDiscountType,
|
||||||
@@ -29,8 +29,14 @@ export const useApproveInvoice = () => {
|
|||||||
};
|
};
|
||||||
|
|
||||||
export const usePayInvoice = () => {
|
export const usePayInvoice = () => {
|
||||||
|
const queryClient = useQueryClient();
|
||||||
return useMutation({
|
return useMutation({
|
||||||
mutationFn: (variables: string) => api.payInvoice(variables),
|
mutationFn: (variables: string) => api.payInvoice(variables),
|
||||||
|
onSuccess: () => {
|
||||||
|
queryClient.refetchQueries({
|
||||||
|
queryKey: ["wallet-balance"],
|
||||||
|
});
|
||||||
|
},
|
||||||
});
|
});
|
||||||
};
|
};
|
||||||
|
|
||||||
|
|||||||
Reference in New Issue
Block a user