diff --git a/package.json b/package.json index 590c840..6c10159 100644 --- a/package.json +++ b/package.json @@ -38,6 +38,7 @@ "tailwind-merge": "^3.2.0", "tailwindcss": "^4.1.4", "three": "^0.177.0", + "uuid": "^11.1.0", "vite-tsconfig-paths": "^5.1.4", "zustand": "^5.0.3" }, diff --git a/pnpm-lock.yaml b/pnpm-lock.yaml index 3a28e18..3cf8736 100644 --- a/pnpm-lock.yaml +++ b/pnpm-lock.yaml @@ -89,6 +89,9 @@ importers: three: specifier: ^0.177.0 version: 0.177.0 + uuid: + specifier: ^11.1.0 + version: 11.1.0 vite-tsconfig-paths: specifier: ^5.1.4 version: 5.1.4(typescript@5.7.3)(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)) @@ -2835,6 +2838,10 @@ packages: resolution: {integrity: sha512-6Z7Ma2aVEWisaL6TvBCy7P8rm2LQoPv6dJ7ecIaIixHcwfbJ0x7mWdbcwlIM5IGQxPZSFYeqRCqlOOeKoJYMkw==} engines: {node: '>= 4'} + uuid@11.1.0: + resolution: {integrity: sha512-0/A9rDy9P7cJ+8w1c9WD9V//9Wj15Ce2MPz8Ri6032usz+NfePxx5AcN3bN+r6ZL6jEo066/yNYB3tn4pQEx+A==} + hasBin: true + validator@13.15.15: resolution: {integrity: sha512-BgWVbCI72aIQy937xbawcs+hrVaN/CZ2UwutgaJ36hGqRrLNM+f5LUT/YPRbo8IV/ASeFzXszezV+y2+rq3l8A==} engines: {node: '>= 0.10'} @@ -5920,6 +5927,8 @@ snapshots: utility-types@3.11.0: {} + uuid@11.1.0: {} + validator@13.15.15: {} vite-tsconfig-paths@5.1.4(typescript@5.7.3)(vite@6.3.5(@types/node@24.0.7)(jiti@2.4.2)(lightningcss@1.30.1)(yaml@2.8.0)): diff --git a/src/langs/fa.json b/src/langs/fa.json index 65521a9..7def5d9 100644 --- a/src/langs/fa.json +++ b/src/langs/fa.json @@ -109,12 +109,14 @@ "add_address": "اضافه کردن نشانی", "domain1": "دامنه", "create": "ساخت", + "header_email": "هدر ایمیل شما", "content_email": "محتوای ایمیل شما", "footer_email": "پاورقی ایمیل شما", "signature": "امضا", "signature_description": "تصویر و توضیحات امضای خود را با دقت وارد کنید", "upload_sign": "آپلود امضا", - "description_sign": "توضیحات امضا" + "description_sign": "توضیحات امضا", + "select_section": "لطفا یک بخش انتخاب کنید" }, "select_file": "انتخاب فایل", "upload": "آپلود", diff --git a/src/pages/received/Components/Header.tsx b/src/pages/received/Components/Header.tsx index 841d423..534a65f 100644 --- a/src/pages/received/Components/Header.tsx +++ b/src/pages/received/Components/Header.tsx @@ -1,16 +1,18 @@ import Button from '@/components/Button' import { ArrowRight, InfoCircle, SmsNotification, Star, VolumeMute, More, DocumentDownload, ArchiveTick, Printer, Trash } from 'iconsax-react' +import { useNavigate } from 'react-router-dom' import { FC } from 'react' import { useTranslation } from 'react-i18next' const Header: FC = () => { + const navigate = useNavigate() const { t } = useTranslation() return (
- + navigate(-1)} /> diff --git a/src/pages/setting/mail-server/MailServer.tsx b/src/pages/setting/mail-server/MailServer.tsx index 413dc24..4713c19 100644 --- a/src/pages/setting/mail-server/MailServer.tsx +++ b/src/pages/setting/mail-server/MailServer.tsx @@ -40,7 +40,7 @@ const Domain: FC = () => {
-
+
{t('setting.setting_smtp')} diff --git a/src/pages/setting/personality/Personality.tsx b/src/pages/setting/personality/Personality.tsx index 064f266..5f81164 100644 --- a/src/pages/setting/personality/Personality.tsx +++ b/src/pages/setting/personality/Personality.tsx @@ -1,30 +1,18 @@ -import { AddCircle } from 'iconsax-react' import { FC } from 'react' -import { useTranslation } from 'react-i18next' +import HeaderSection from './components/HeaderSection' +import ContentSection from './components/ContentSection' +import FooterSection from './components/FooterSection' const Personality: FC = () => { - - const { t } = useTranslation() - return (
-
-
-
-
- -
-
{t('setting.content_email')}
-
- -
-
-
-
{t('setting.footer_email')}
-
- -
-
+ + + + + + +
) } diff --git a/src/pages/setting/personality/components/ButtonSidebar.tsx b/src/pages/setting/personality/components/ButtonSidebar.tsx index 4ff56b3..14cefd1 100644 --- a/src/pages/setting/personality/components/ButtonSidebar.tsx +++ b/src/pages/setting/personality/components/ButtonSidebar.tsx @@ -6,12 +6,29 @@ import { Checkbox } from '@/components/ui/checkbox' import { AlignRight, AlignBottom, AlignHorizontally, AlignLeft, AlignTop, AlignVertically, Link2, Add } from 'iconsax-react' import { FC, useState } from 'react' import { useTranslation } from 'react-i18next' +import { usePersonalityStore } from '../store/Store' const ButtonSidebar: FC = () => { const { t } = useTranslation() + const { addButtonToActiveItem } = usePersonalityStore() const [isBorder, setIsBorder] = useState(false) + const handleAddButton = () => { + addButtonToActiveItem({ + text: 'دکمه جدید', + link: '#', + size: 'medium', + isBorder: true, + borderSize: 1, + textColor: '#ffffff', + backgroundColor: '#0038FF', + borderColor: '#0038FF', + alignment: 'center', + verticalAlignment: 'middle', + }) + } + return (
{t('setting.button')}
@@ -90,7 +107,7 @@ const ButtonSidebar: FC = () => {
- {t('setting.horizontal_position')} + {t('setting.vertical_position')}
@@ -102,7 +119,7 @@ const ButtonSidebar: FC = () => {