diff --git a/.env b/.env
index 1cfb95b..53acdda 100644
--- a/.env
+++ b/.env
@@ -1,4 +1,4 @@
VITE_TOKEN_NAME = 'admin_token'
VITE_REFRESH_TOKEN_NAME = 'admin_refresh_token'
-VITE_BASE_URL = 'https://api.danakcorp.com'
-# VITE_BASE_URL = 'http://10.86.60.88:3500'
\ No newline at end of file
+# VITE_BASE_URL = 'https://api.danakcorp.com'
+VITE_BASE_URL = 'http://172.27.254.88:3500'
\ No newline at end of file
diff --git a/src/config/Pages.ts b/src/config/Pages.ts
index 1f393d7..67426c0 100644
--- a/src/config/Pages.ts
+++ b/src/config/Pages.ts
@@ -4,6 +4,9 @@ export const Pages = {
register: "/auth/register",
forgotPassword: "/auth/forgot",
},
+ dmail: {
+ list: "/dmail/domain/list",
+ },
dashboard: "/dashboard",
services: {
mine: "/services",
diff --git a/src/langs/fa.json b/src/langs/fa.json
index 594313f..0fcc45c 100644
--- a/src/langs/fa.json
+++ b/src/langs/fa.json
@@ -83,7 +83,12 @@
"shops": "فروشگاه ها",
"sms_count": "تعداد پیامک",
"subscriptions": "اشتراک ها",
- "financial": "مالی"
+ "financial": "مالی",
+ "dmail": "دی میل",
+ "domain": "دامنه"
+ },
+ "dmail": {
+ "domain": "لیست دامنه ها"
},
"slider": {
"new_slider": "اسلایدر جدید",
diff --git a/src/pages/dmail/Domains.tsx b/src/pages/dmail/Domains.tsx
new file mode 100644
index 0000000..85ad0a3
--- /dev/null
+++ b/src/pages/dmail/Domains.tsx
@@ -0,0 +1,9 @@
+import { type FC } from 'react'
+
+const Domains: FC = () => {
+ return (
+
Domains
+ )
+}
+
+export default Domains
\ No newline at end of file
diff --git a/src/pages/dmail/hooks/useDmailData.ts b/src/pages/dmail/hooks/useDmailData.ts
new file mode 100644
index 0000000..aa5bb2f
--- /dev/null
+++ b/src/pages/dmail/hooks/useDmailData.ts
@@ -0,0 +1,15 @@
+import { useMutation, useQuery } from "@tanstack/react-query";
+import * as api from "../service/DmailService";
+
+export const useGetDomains = () => {
+ return useQuery({
+ queryKey: ["dmail-domains"],
+ queryFn: api.getDomains,
+ });
+};
+
+export const useActiveDomain = () => {
+ return useMutation({
+ mutationFn: api.activeDomain,
+ });
+};
diff --git a/src/pages/dmail/service/DmailService.ts b/src/pages/dmail/service/DmailService.ts
new file mode 100644
index 0000000..288282a
--- /dev/null
+++ b/src/pages/dmail/service/DmailService.ts
@@ -0,0 +1,12 @@
+import axios from "../../../config/axios";
+import { ActiveDomainType } from "../types/Types";
+
+export const getDomains = async () => {
+ const { data } = await axios.get(`/dmail`);
+ return data;
+};
+
+export const activeDomain = async (params: ActiveDomainType) => {
+ const { data } = await axios.patch(`/dmail/${params.id}/active`, params);
+ return data;
+};
diff --git a/src/pages/dmail/types/Types.ts b/src/pages/dmail/types/Types.ts
new file mode 100644
index 0000000..9fcf97a
--- /dev/null
+++ b/src/pages/dmail/types/Types.ts
@@ -0,0 +1,4 @@
+export type ActiveDomainType = {
+ isActive: boolean;
+ id: string;
+};
diff --git a/src/shared/SideBar.tsx b/src/shared/SideBar.tsx
index 1ae3528..b2663c8 100644
--- a/src/shared/SideBar.tsx
+++ b/src/shared/SideBar.tsx
@@ -2,7 +2,7 @@ import { FC, useEffect, useState } from 'react'
import LogoImage from '../assets/images/logo.svg'
import LogoSmall from '../assets/images/logo-small.svg'
import { useTranslation } from 'react-i18next'
-import { Card, Code, CodeCircle, DocumentLike, DocumentText, Element3, Gallery, Headphone, Home2, Logout, Messages3, Money3, NotificationStatus, People, Profile, Receipt21, Setting2, SmsTracking, Teacher, TicketDiscount, UserSquare, Activity, Icon, Category, Warning2, Building, Sms, Chart21, ArrowDown2 } from 'iconsax-react'
+import { Card, Code, CodeCircle, DocumentLike, DocumentText, Element3, Gallery, Headphone, Home2, Logout, Messages3, Money3, NotificationStatus, People, Profile, Receipt21, Setting2, SmsTracking, Teacher, TicketDiscount, UserSquare, Activity, Icon, Category, Warning2, Building, Sms, Chart21, ArrowDown2, Global } from 'iconsax-react'
import SideBarItem from './SideBarItem'
import { useLocation } from 'react-router-dom'
import { Pages } from '../config/Pages'
@@ -533,6 +533,42 @@ const SideBar: FC = () => {
>
}
+ {
+ adminPermissions?.data?.permissions?.some((permission: { name: string }) => permission.name === 'dmail') &&
+ <>
+ handleOpenMenu('dmail')} className={clx(
+ 'mt-10 px-12 text-header text-sm font-normal cursor-pointer',
+ hasSubMenu && 'px-2 text-center',
+ !hasSubMenu && 'flex gap-2 items-center'
+ )}>
+ {t('sidebar.dmail')}
+
+
+
+
+
+
+ }
+ title={t('sidebar.domain')}
+ isActive={isActive('dmail/domain/list')}
+ link={Pages.dmail.list}
+ activeName='dmail'
+ />
+
+
+ >
+ }