pixel perfect
This commit is contained in:
@@ -6,29 +6,35 @@ import { ColumnType } from '../../components/types/TableTypes';
|
||||
import { InfoCircle, More, Refresh2, Trash, Edit, Archive, ArchiveTick, Star1 } from 'iconsax-react';
|
||||
import { RowActionItem } from '../../components/RowActionsDropdown';
|
||||
import { useNavigate } from 'react-router-dom';
|
||||
import { useGetInbox } from './hooks/useEmailData';
|
||||
import { useGetInbox, useSummarizeEmail } from './hooks/useEmailData';
|
||||
import { InboxMessage } from './types/Types';
|
||||
import { formatDate } from '@/config/func';
|
||||
import MarkAsRead from '@/assets/images/mark_as_read.svg'
|
||||
import { useEmailActions } from '@/hooks/useEmailActions';
|
||||
import Favorite from './Components/Favorite';
|
||||
import Summerize from './Components/Summerize';
|
||||
import Intelligense from '@/assets/images/intelligense.svg'
|
||||
import SummarizeModal from './Components/SummarizeModal';
|
||||
|
||||
const List: FC = () => {
|
||||
|
||||
const navigate = useNavigate();
|
||||
const { t } = useTranslation();
|
||||
const [currentPage, setCurrentPage] = useState(1);
|
||||
const [filters, setFilters] = useState<FilterValues>({});
|
||||
const emailActions = useEmailActions();
|
||||
const [openSummarizeModal, setOpenSummarizeModal] = useState(false);
|
||||
const { mutate: summarizeEmail, isPending: isSummarizing, data: summarizeData } = useSummarizeEmail();
|
||||
|
||||
const { data: inboxData, isLoading, refetch, isFetching } = useGetInbox({
|
||||
page: currentPage,
|
||||
limit: 25,
|
||||
limit: 10,
|
||||
...filters
|
||||
});
|
||||
|
||||
|
||||
const [selectedMessages, setSelectedMessages] = useState<InboxMessage[]>([]);
|
||||
const [selectedMessage, setSelectedMessage] = useState<InboxMessage | null>(null);
|
||||
|
||||
const columns: ColumnType<InboxMessage>[] = [
|
||||
{
|
||||
@@ -152,6 +158,15 @@ const List: FC = () => {
|
||||
];
|
||||
|
||||
const getRowActions = (message: InboxMessage): RowActionItem[] => [
|
||||
{
|
||||
label: 'مشاهده خلاصه',
|
||||
icon: <img src={Intelligense} alt='summerize' className='w-[18px] ' />,
|
||||
onClick: () => {
|
||||
setSelectedMessage(message)
|
||||
setOpenSummarizeModal(true)
|
||||
summarizeEmail({ messageId: message.id, mailbox: message.mailbox })
|
||||
},
|
||||
},
|
||||
{
|
||||
label: message.seen ? 'علامتگذاری به عنوان خوانده نشده' : 'علامتگذاری به عنوان خوانده شده',
|
||||
icon: <Edit size={16} color="black" />,
|
||||
@@ -231,6 +246,18 @@ const List: FC = () => {
|
||||
} : undefined}
|
||||
/>
|
||||
|
||||
{selectedMessage && (
|
||||
<SummarizeModal
|
||||
open={openSummarizeModal}
|
||||
onClose={() => setOpenSummarizeModal(false)}
|
||||
isPending={isSummarizing}
|
||||
item={selectedMessage}
|
||||
id={selectedMessage.id.toString()}
|
||||
mailbox={selectedMessage.mailbox}
|
||||
data={summarizeData}
|
||||
/>
|
||||
)}
|
||||
|
||||
</div>
|
||||
)
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user