=> {
- const { data } = await axios.get(`/email/messages/sent`, { params: query });
+ console.log("query", query);
+
+ const isSearch =
+ !!query.search || !!query.datestart || query.dateend || query.from;
+ const url = isSearch ? "search" : "messages/sent";
+
+ // اضافه کردن mailbox id از localStorage
+ const mailboxId = getMailboxId("Sent Mail");
+ const queryWithMailbox = {
+ ...query,
+ mailbox: mailboxId,
+ };
+
+ const { data } = await axios.get(`/email/${url}`, {
+ params: queryWithMailbox,
+ });
return data;
};
diff --git a/src/pages/sent/types/SentTypes.ts b/src/pages/sent/types/SentTypes.ts
index 1618b63..2aa3fec 100644
--- a/src/pages/sent/types/SentTypes.ts
+++ b/src/pages/sent/types/SentTypes.ts
@@ -2,9 +2,13 @@ export interface MessageListQueryDto {
page?: number;
limit?: number;
search?: string;
- from_date?: string;
- to_date?: string;
- status?: "all" | "read" | "unread";
+ from?: string;
+ subject?: string;
+ datestart?: string;
+ dateend?: string;
+ attachments?: boolean;
+ flagged?: boolean;
+ order?: "asc" | "desc";
}
export interface EmailAddress {
diff --git a/src/pages/spam/List.tsx b/src/pages/spam/List.tsx
index 8d1b8d5..5e2fa40 100644
--- a/src/pages/spam/List.tsx
+++ b/src/pages/spam/List.tsx
@@ -113,23 +113,13 @@ const List: FC = () => {
return (
-
پیامهای اسپم
+ هرزنامه ها
=> {
- const { data } = await axios.get(`/email/messages/junk`, { params: query });
+ console.log("query", query);
+
+ const isSearch =
+ !!query.search || !!query.datestart || query.dateend || query.from;
+ const url = isSearch ? "search" : "messages/junk";
+
+ // اضافه کردن mailbox id از localStorage
+ const mailboxId = getMailboxId("Junk");
+ const queryWithMailbox = {
+ ...query,
+ mailbox: mailboxId,
+ };
+
+ const { data } = await axios.get(`/email/${url}`, {
+ params: queryWithMailbox,
+ });
return data;
};
diff --git a/src/pages/spam/types/SpamTypes.ts b/src/pages/spam/types/SpamTypes.ts
index 4d308d4..0cc527c 100644
--- a/src/pages/spam/types/SpamTypes.ts
+++ b/src/pages/spam/types/SpamTypes.ts
@@ -37,11 +37,14 @@ export interface SpamMessage extends Record {
export interface MessageListQueryDto {
page?: number;
limit?: number;
- order?: "asc" | "desc";
search?: string;
- dateFrom?: string;
- dateTo?: string;
- isRead?: string;
+ from?: string;
+ subject?: string;
+ datestart?: string;
+ dateend?: string;
+ attachments?: boolean;
+ flagged?: boolean;
+ order?: "asc" | "desc";
}
export interface SpamResponse {
diff --git a/src/shared/SideBar.tsx b/src/shared/SideBar.tsx
index 5046d85..2690af4 100644
--- a/src/shared/SideBar.tsx
+++ b/src/shared/SideBar.tsx
@@ -1,4 +1,4 @@
-import { FC } from 'react'
+import { FC, useEffect } from 'react'
import LogoImage from '../assets/images/logo.svg'
import { Add, ArchiveTick, DirectInbox, DirectSend, Edit, InfoCircle, Logout, Star1, Trash, Setting2 } from 'iconsax-react'
import SideBarItem from './SideBarItem'
@@ -22,6 +22,14 @@ const SideBar: FC = () => {
const isActive = (path: string) => location.pathname === path
+ useEffect(() => {
+ if (mailboxCount?.data) {
+ localStorage.setItem(import.meta.env.VITE_MAILBOXES, JSON.stringify(mailboxCount?.data?.mailboxes))
+ }
+
+ }, [mailboxCount?.data])
+
+
const iconSizeSideBar = 20
if (!mailboxCount?.data) return null
return (