diff --git a/web/app/components/base/zendesk/index.tsx b/web/app/components/base/zendesk/index.tsx
index b3d67eb390..a6971fe1db 100644
--- a/web/app/components/base/zendesk/index.tsx
+++ b/web/app/components/base/zendesk/index.tsx
@@ -10,11 +10,21 @@ const Zendesk = () => {
const nonce = process.env.NODE_ENV === 'production' ? (headers() as unknown as UnsafeUnwrappedHeaders).get('x-nonce') ?? '' : ''
return (
-
+ <>
+
+
+ >
)
}
diff --git a/web/app/components/base/zendesk/utils.ts b/web/app/components/base/zendesk/utils.ts
index 6f853343aa..216499efc4 100644
--- a/web/app/components/base/zendesk/utils.ts
+++ b/web/app/components/base/zendesk/utils.ts
@@ -21,3 +21,13 @@ export const setZendeskConversationFields = (fields: ConversationField[], callba
if (!IS_CE_EDITION && window.zE)
window.zE('messenger:set', 'conversationFields', fields, callback)
}
+
+export const setZendeskWidgetVisibility = (visible: boolean) => {
+ if (!IS_CE_EDITION && window.zE)
+ window.zE('messenger', visible ? 'show' : 'hide')
+}
+
+export const toggleZendeskWindow = (open: boolean) => {
+ if (!IS_CE_EDITION && window.zE)
+ window.zE('messenger', open ? 'open' : 'close')
+}
diff --git a/web/app/components/header/account-dropdown/index.tsx b/web/app/components/header/account-dropdown/index.tsx
index 178f347102..30b2bfdf6f 100644
--- a/web/app/components/header/account-dropdown/index.tsx
+++ b/web/app/components/header/account-dropdown/index.tsx
@@ -68,7 +68,7 @@ export default function AppSelector() {
diff --git a/web/app/components/header/account-dropdown/support.tsx b/web/app/components/header/account-dropdown/support.tsx
index 15c6d3e5cf..fda45f2db5 100644
--- a/web/app/components/header/account-dropdown/support.tsx
+++ b/web/app/components/header/account-dropdown/support.tsx
@@ -1,23 +1,25 @@
import { Menu, MenuButton, MenuItem, MenuItems, Transition } from '@headlessui/react'
-import { RiArrowRightSLine, RiArrowRightUpLine, RiDiscordLine, RiFeedbackLine, RiMailSendLine, RiQuestionLine } from '@remixicon/react'
+import { RiArrowRightSLine, RiArrowRightUpLine, RiChatSmile2Line, RiDiscordLine, RiFeedbackLine, RiQuestionLine } from '@remixicon/react'
import { Fragment } from 'react'
import Link from 'next/link'
import { useTranslation } from 'react-i18next'
-import { mailToSupport } from '../utils/util'
import cn from '@/utils/classnames'
import { useProviderContext } from '@/context/provider-context'
import { Plan } from '@/app/components/billing/type'
-import { useAppContext } from '@/context/app-context'
+import { toggleZendeskWindow } from '@/app/components/base/zendesk/utils'
-export default function Support() {
+type SupportProps = {
+ closeAccountDropdown: () => void
+}
+
+export default function Support({ closeAccountDropdown }: SupportProps) {
const itemClassName = `
flex items-center w-full h-9 pl-3 pr-2 text-text-secondary system-md-regular
rounded-lg hover:bg-state-base-hover cursor-pointer gap-1
`
const { t } = useTranslation()
const { plan } = useProviderContext()
- const { userProfile, langGeniusVersionInfo } = useAppContext()
- const canEmailSupport = plan.type === Plan.professional || plan.type === Plan.team || plan.type === Plan.enterprise
+ const hasDedicatedChannel = plan.type !== Plan.sandbox
return