pixel perfect

This commit is contained in:
hamid zarghami
2025-07-26 15:52:18 +03:30
parent d324935836
commit 6dca90bd56
20 changed files with 184 additions and 101 deletions
+29 -2
View File
@@ -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>
)
}