🚸(frontend) show support toggle only if support is enabled
Avoid misleading the user, if support is not enabled, as it's optional, avoid displaying a useless control button. Requested by Dutch counterparts.
This commit is contained in:
committed by
aleb_the_flash
parent
8eab45b6d5
commit
4ae3d965f9
@@ -4,9 +4,11 @@ import { useTranslation } from 'react-i18next'
|
|||||||
import { Crisp } from 'crisp-sdk-web'
|
import { Crisp } from 'crisp-sdk-web'
|
||||||
import { useEffect, useState } from 'react'
|
import { useEffect, useState } from 'react'
|
||||||
import { ToggleButtonProps } from '@/primitives/ToggleButton'
|
import { ToggleButtonProps } from '@/primitives/ToggleButton'
|
||||||
|
import { useIsSupportEnabled } from '@/features/support/hooks/useSupport'
|
||||||
|
|
||||||
export const SupportToggle = ({ onPress, ...props }: ToggleButtonProps) => {
|
export const SupportToggle = ({ onPress, ...props }: ToggleButtonProps) => {
|
||||||
const { t } = useTranslation('rooms', { keyPrefix: 'controls' })
|
const { t } = useTranslation('rooms', { keyPrefix: 'controls' })
|
||||||
|
|
||||||
const [isOpened, setIsOpened] = useState(() => {
|
const [isOpened, setIsOpened] = useState(() => {
|
||||||
return window?.$crisp?.is?.('chat:opened') || false
|
return window?.$crisp?.is?.('chat:opened') || false
|
||||||
})
|
})
|
||||||
@@ -28,6 +30,12 @@ export const SupportToggle = ({ onPress, ...props }: ToggleButtonProps) => {
|
|||||||
}
|
}
|
||||||
}, [])
|
}, [])
|
||||||
|
|
||||||
|
const isSupportEnabled = useIsSupportEnabled()
|
||||||
|
|
||||||
|
if (!isSupportEnabled) {
|
||||||
|
return
|
||||||
|
}
|
||||||
|
|
||||||
return (
|
return (
|
||||||
<ToggleButton
|
<ToggleButton
|
||||||
square
|
square
|
||||||
|
|||||||
@@ -1,6 +1,7 @@
|
|||||||
import { useEffect } from 'react'
|
import { useEffect } from 'react'
|
||||||
import { Crisp } from 'crisp-sdk-web'
|
import { Crisp } from 'crisp-sdk-web'
|
||||||
import { ApiUser } from '@/features/auth/api/ApiUser'
|
import { ApiUser } from '@/features/auth/api/ApiUser'
|
||||||
|
import { useConfig } from '@/api/useConfig'
|
||||||
|
|
||||||
export const initializeSupportSession = (user: ApiUser) => {
|
export const initializeSupportSession = (user: ApiUser) => {
|
||||||
if (!Crisp.isCrispInjected()) return
|
if (!Crisp.isCrispInjected()) return
|
||||||
@@ -29,3 +30,8 @@ export const useSupport = ({ id }: useSupportProps) => {
|
|||||||
|
|
||||||
return null
|
return null
|
||||||
}
|
}
|
||||||
|
|
||||||
|
export const useIsSupportEnabled = () => {
|
||||||
|
const { data } = useConfig()
|
||||||
|
return !!data?.support?.id
|
||||||
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user