diff --git a/src/pages/Trash/List.tsx b/src/pages/Trash/List.tsx
index cabf089..d5d5fb8 100644
--- a/src/pages/Trash/List.tsx
+++ b/src/pages/Trash/List.tsx
@@ -147,7 +147,7 @@ const List: FC = () => {
selectedActions={selectedActions}
onSelectionChange={handleSelectionChange}
selectedRows={selectedMessages}
- onRowClick={(id) => navigate(`/mail/${id}`)}
+ onRowClick={(id, item) => navigate(`/mail/${id}/${item.mailbox}`)}
noDataMessage={
diff --git a/src/pages/received/Components/Header.tsx b/src/pages/received/Components/Header.tsx
index 211cc7b..2377120 100644
--- a/src/pages/received/Components/Header.tsx
+++ b/src/pages/received/Components/Header.tsx
@@ -1,5 +1,5 @@
import Button from '@/components/Button'
-import { ArrowRight, VolumeMute, More, DocumentDownload, Printer, Trash } from 'iconsax-react'
+import { ArrowRight, DocumentDownload, Printer } from 'iconsax-react'
import { useNavigate } from 'react-router-dom'
import { FC } from 'react'
import { useTranslation } from 'react-i18next'
@@ -8,6 +8,7 @@ import MessageArchive from './MessageArchive'
import MessageSpam from './MessageSpam'
import { MailboxEnum } from '../enum/Enum'
import MessageFavorite from './MessageFavorite'
+import MessageTrash from './MessageTrash'
const Header: FC<{ mailBoxName: MailboxEnum }> = ({ mailBoxName }) => {
@@ -22,9 +23,9 @@ const Header: FC<{ mailBoxName: MailboxEnum }> = ({ mailBoxName }) => {
-
-
-
+ {/* */}
+
+ {/* */}
diff --git a/src/pages/received/Components/MessageArchive.tsx b/src/pages/received/Components/MessageArchive.tsx
index e885291..eafa2fd 100644
--- a/src/pages/received/Components/MessageArchive.tsx
+++ b/src/pages/received/Components/MessageArchive.tsx
@@ -26,7 +26,7 @@ const MessageArchive: FC<{ isActiveArchive: boolean }> = ({ isActiveArchive }) =
})
}
setIsArchive(!isArchive)
- }} size={18} variant={isArchive ? 'Bold' : 'Outline'} color='black' className='xl:block hidden' />
+ }} size={18} variant={isArchive ? 'Bold' : 'Outline'} color='black' />
)
}
diff --git a/src/pages/received/Components/MessageFavorite.tsx b/src/pages/received/Components/MessageFavorite.tsx
index a8c8bfa..7eda541 100644
--- a/src/pages/received/Components/MessageFavorite.tsx
+++ b/src/pages/received/Components/MessageFavorite.tsx
@@ -25,7 +25,7 @@ const MessageFavorite: FC<{ isActiveFavorite: boolean }> = ({ isActiveFavorite }
})
}
setIsFavorite(!isFavorite)
- }} size={18} variant={isFavorite ? 'Bold' : 'Outline'} color={isFavorite ? '#FFC107' : 'black'} className='xl:block hidden' />
+ }} size={18} variant={isFavorite ? 'Bold' : 'Outline'} color={isFavorite ? '#FFC107' : 'black'} />
)
}
diff --git a/src/pages/received/Components/MessageSpam.tsx b/src/pages/received/Components/MessageSpam.tsx
index 42cb791..d596839 100644
--- a/src/pages/received/Components/MessageSpam.tsx
+++ b/src/pages/received/Components/MessageSpam.tsx
@@ -27,7 +27,7 @@ const MessageSpam: FC<{ isActiveSpam: boolean }> = ({ isActiveSpam }) => {
})
}
setIsSpam(!isSpam)
- }} size={18} variant={isSpam ? 'Bold' : 'Outline'} color='black' className='xl:block hidden' />
+ }} size={18} variant={isSpam ? 'Bold' : 'Outline'} color='black' />
)
}
diff --git a/src/pages/received/Components/MessageTrash.tsx b/src/pages/received/Components/MessageTrash.tsx
new file mode 100644
index 0000000..8f86b92
--- /dev/null
+++ b/src/pages/received/Components/MessageTrash.tsx
@@ -0,0 +1,32 @@
+import { Trash } from 'iconsax-react'
+import { FC, useState } from 'react'
+import { useNavigate, useParams } from 'react-router-dom'
+import { useMoveToTrash, useRestoreMessage } from '../hooks/useEmailData'
+
+const MessageTrash: FC<{ isActiveTrash: boolean }> = ({ isActiveTrash }) => {
+ const [isTrash, setIsTrash] = useState(isActiveTrash)
+ const { id, mailbox } = useParams<{ id: string, mailbox: string }>()
+ const { mutate: moveToTrash } = useMoveToTrash()
+ const { mutate: restoreMessage } = useRestoreMessage()
+ const navigate = useNavigate()
+ return (
+ {
+ setIsTrash(!isTrash)
+ if (isTrash) {
+ restoreMessage({ messageId: id || '', mailbox: mailbox || '' }, {
+ onSuccess: () => {
+ navigate(-1)
+ }
+ })
+ } else {
+ moveToTrash({ messageId: id || '', mailbox: mailbox || '' }, {
+ onSuccess: () => {
+ navigate(-1)
+ }
+ })
+ }
+ }} />
+ )
+};
+
+export default MessageTrash;
\ No newline at end of file
diff --git a/src/pages/received/Components/MessageUnread.tsx b/src/pages/received/Components/MessageUnread.tsx
index 4d4510b..8588939 100644
--- a/src/pages/received/Components/MessageUnread.tsx
+++ b/src/pages/received/Components/MessageUnread.tsx
@@ -18,7 +18,7 @@ const MessageUnread: FC = () => {
markAsRead({ messageId: id || '', mailbox: mailbox || '' })
}
setIsRead(!isRead)
- }} size={18} variant={isRead ? 'Outline' : 'Bold'} color='black' className='xl:block hidden' />
+ }} size={18} variant={isRead ? 'Outline' : 'Bold'} color='black' />
)
}
diff --git a/src/pages/received/hooks/useEmailData.tsx b/src/pages/received/hooks/useEmailData.tsx
index 61c0e1e..6d00c7b 100644
--- a/src/pages/received/hooks/useEmailData.tsx
+++ b/src/pages/received/hooks/useEmailData.tsx
@@ -105,4 +105,10 @@ export const useUnFavoriteMessage = () => {
return useMutation({
mutationFn: ({ messageId, mailbox }: SingleActionRequest) => api.unFavoriteMessage(messageId, mailbox),
});
+};
+
+export const useRestoreMessage = () => {
+ return useMutation({
+ mutationFn: ({ messageId, mailbox }: SingleActionRequest) => api.restoreMessage(messageId, mailbox),
+ });
};
\ No newline at end of file