| import { Menu, Transition } from '@headlessui/react' | import { Menu, Transition } from '@headlessui/react' | ||||
| import Indicator from '../indicator' | import Indicator from '../indicator' | ||||
| import AccountAbout from '../account-about' | import AccountAbout from '../account-about' | ||||
| import { mailToSupport } from '../utils/util' | |||||
| import WorkplaceSelector from './workplace-selector' | import WorkplaceSelector from './workplace-selector' | ||||
| import classNames from '@/utils/classnames' | import classNames from '@/utils/classnames' | ||||
| import I18n from '@/context/i18n' | import I18n from '@/context/i18n' | ||||
| import { LogOut01 } from '@/app/components/base/icons/src/vender/line/general' | import { LogOut01 } from '@/app/components/base/icons/src/vender/line/general' | ||||
| import { useModalContext } from '@/context/modal-context' | import { useModalContext } from '@/context/modal-context' | ||||
| import { LanguagesSupported } from '@/i18n/language' | import { LanguagesSupported } from '@/i18n/language' | ||||
| import { useProviderContext } from '@/context/provider-context' | |||||
| import { Plan } from '@/app/components/billing/type' | |||||
| export type IAppSelecotr = { | export type IAppSelecotr = { | ||||
| isMobile: boolean | isMobile: boolean | ||||
| } | } | ||||
| const { t } = useTranslation() | const { t } = useTranslation() | ||||
| const { userProfile, langeniusVersionInfo } = useAppContext() | const { userProfile, langeniusVersionInfo } = useAppContext() | ||||
| const { setShowAccountSettingModal } = useModalContext() | const { setShowAccountSettingModal } = useModalContext() | ||||
| const { plan } = useProviderContext() | |||||
| const canEmailSupport = plan.type === Plan.professional || plan.type === Plan.team || plan.type === Plan.enterprise | |||||
| const handleLogout = async () => { | const handleLogout = async () => { | ||||
| await logout({ | await logout({ | ||||
| <div>{t('common.userProfile.settings')}</div> | <div>{t('common.userProfile.settings')}</div> | ||||
| </div> | </div> | ||||
| </Menu.Item> | </Menu.Item> | ||||
| {canEmailSupport && <Menu.Item> | |||||
| <a | |||||
| className={classNames(itemClassName, 'group justify-between')} | |||||
| href={mailToSupport(userProfile.email, plan.type, langeniusVersionInfo.current_version)} | |||||
| target='_blank' rel='noopener noreferrer'> | |||||
| <div>{t('common.userProfile.emailSupport')}</div> | |||||
| <ArrowUpRight className='hidden w-[14px] h-[14px] text-gray-500 group-hover:flex' /> | |||||
| </a> | |||||
| </Menu.Item>} | |||||
| <Menu.Item> | <Menu.Item> | ||||
| <Link | <Link | ||||
| className={classNames(itemClassName, 'group justify-between')} | className={classNames(itemClassName, 'group justify-between')} |
| export const generateMailToLink = (email: string, subject?: string, body?: string): string => { | |||||
| let mailtoLink = `mailto:${email}` | |||||
| if (subject) | |||||
| mailtoLink += `?subject=${encodeURIComponent(subject)}` | |||||
| if (body) | |||||
| mailtoLink += `&body=${encodeURIComponent(body)}` | |||||
| return mailtoLink | |||||
| } | |||||
| export const mailToSupport = (account: string, plan: string, version: string) => { | |||||
| const subject = `Technical Support Request ${plan} ${account}` | |||||
| const body = ` | |||||
| Please do not remove the following information: | |||||
| ----------------------------------------------- | |||||
| Current Plan: ${plan} | |||||
| Account: ${account} | |||||
| Version: ${version} | |||||
| Platform: | |||||
| Problem Description: | |||||
| ` | |||||
| return generateMailToLink('support@dify.ai', subject, body) | |||||
| } |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Einstellungen', | settings: 'Einstellungen', | ||||
| emailSupport: 'E-Mail-Support', | |||||
| workspace: 'Arbeitsbereich', | workspace: 'Arbeitsbereich', | ||||
| createWorkspace: 'Arbeitsbereich erstellen', | createWorkspace: 'Arbeitsbereich erstellen', | ||||
| helpCenter: 'Hilfe', | helpCenter: 'Hilfe', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Settings', | settings: 'Settings', | ||||
| emailSupport: 'Email Support', | |||||
| workspace: 'Workspace', | workspace: 'Workspace', | ||||
| createWorkspace: 'Create Workspace', | createWorkspace: 'Create Workspace', | ||||
| helpCenter: 'Help', | helpCenter: 'Help', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Configuraciones', | settings: 'Configuraciones', | ||||
| emailSupport: 'Soporte de Correo Electrónico', | |||||
| workspace: 'Espacio de trabajo', | workspace: 'Espacio de trabajo', | ||||
| createWorkspace: 'Crear espacio de trabajo', | createWorkspace: 'Crear espacio de trabajo', | ||||
| helpCenter: 'Ayuda', | helpCenter: 'Ayuda', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Paramètres', | settings: 'Paramètres', | ||||
| emailSupport: 'Support par courriel', | |||||
| workspace: 'Espace de travail', | workspace: 'Espace de travail', | ||||
| createWorkspace: 'Créer un Espace de Travail', | createWorkspace: 'Créer un Espace de Travail', | ||||
| helpCenter: 'Aide', | helpCenter: 'Aide', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'सेटिंग्स', | settings: 'सेटिंग्स', | ||||
| emailSupport: 'सहायता', | |||||
| workspace: 'वर्कस्पेस', | workspace: 'वर्कस्पेस', | ||||
| createWorkspace: 'वर्कस्पेस बनाएं', | createWorkspace: 'वर्कस्पेस बनाएं', | ||||
| helpCenter: 'सहायता', | helpCenter: 'सहायता', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Impostazioni', | settings: 'Impostazioni', | ||||
| emailSupport: 'Supporto Email', | |||||
| workspace: 'Workspace', | workspace: 'Workspace', | ||||
| createWorkspace: 'Crea Workspace', | createWorkspace: 'Crea Workspace', | ||||
| helpCenter: 'Aiuto', | helpCenter: 'Aiuto', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: '設定', | settings: '設定', | ||||
| emailSupport: 'サポート', | |||||
| workspace: 'ワークスペース', | workspace: 'ワークスペース', | ||||
| createWorkspace: 'ワークスペースを作成', | createWorkspace: 'ワークスペースを作成', | ||||
| helpCenter: 'ヘルプ', | helpCenter: 'ヘルプ', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: '설정', | settings: '설정', | ||||
| emailSupport: '이메일 지원', | |||||
| workspace: '작업 공간', | workspace: '작업 공간', | ||||
| createWorkspace: '작업 공간 만들기', | createWorkspace: '작업 공간 만들기', | ||||
| helpCenter: '도움말 센터', | helpCenter: '도움말 센터', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Ustawienia', | settings: 'Ustawienia', | ||||
| emailSupport: 'Wsparcie e-mail', | |||||
| workspace: 'Przestrzeń robocza', | workspace: 'Przestrzeń robocza', | ||||
| createWorkspace: 'Utwórz przestrzeń roboczą', | createWorkspace: 'Utwórz przestrzeń roboczą', | ||||
| helpCenter: 'Pomoc', | helpCenter: 'Pomoc', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Configurações', | settings: 'Configurações', | ||||
| emailSupport: 'Suporte por e-mail', | |||||
| workspace: 'Espaço de trabalho', | workspace: 'Espaço de trabalho', | ||||
| createWorkspace: 'Criar Espaço de Trabalho', | createWorkspace: 'Criar Espaço de Trabalho', | ||||
| helpCenter: 'Ajuda', | helpCenter: 'Ajuda', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Setări', | settings: 'Setări', | ||||
| emailSupport: 'Suport prin email', | |||||
| workspace: 'Spațiu de lucru', | workspace: 'Spațiu de lucru', | ||||
| createWorkspace: 'Creează Spațiu de lucru', | createWorkspace: 'Creează Spațiu de lucru', | ||||
| helpCenter: 'Ajutor', | helpCenter: 'Ajutor', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Налаштування', | settings: 'Налаштування', | ||||
| emailSupport: 'Підтримка по електронній пошті', | |||||
| workspace: 'Робочий простір', | workspace: 'Робочий простір', | ||||
| createWorkspace: 'Створити робочий простір', | createWorkspace: 'Створити робочий простір', | ||||
| helpCenter: 'Довідковий центр', | helpCenter: 'Довідковий центр', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: 'Cài đặt', | settings: 'Cài đặt', | ||||
| emailSupport: 'Hỗ trợ qua Email', | |||||
| workspace: 'Không gian làm việc', | workspace: 'Không gian làm việc', | ||||
| createWorkspace: 'Tạo Không gian làm việc', | createWorkspace: 'Tạo Không gian làm việc', | ||||
| helpCenter: 'Trung tâm trợ giúp', | helpCenter: 'Trung tâm trợ giúp', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: '设置', | settings: '设置', | ||||
| emailSupport: '邮件支持', | |||||
| workspace: '工作空间', | workspace: '工作空间', | ||||
| createWorkspace: '创建工作空间', | createWorkspace: '创建工作空间', | ||||
| helpCenter: '帮助文档', | helpCenter: '帮助文档', |
| }, | }, | ||||
| userProfile: { | userProfile: { | ||||
| settings: '設定', | settings: '設定', | ||||
| emailSupport: '電子郵件支援', | |||||
| workspace: '工作空間', | workspace: '工作空間', | ||||
| createWorkspace: '建立工作空間', | createWorkspace: '建立工作空間', | ||||
| helpCenter: '幫助文件', | helpCenter: '幫助文件', |