Chore: Presence cap tweaks (#28058)
parent
497f2bea53
commit
21ed1536b6
@ -0,0 +1,34 @@ |
||||
import { useTranslation } from '@rocket.chat/ui-contexts'; |
||||
import React from 'react'; |
||||
|
||||
import GenericModal from '../../../components/GenericModal'; |
||||
|
||||
type CustomUserStatusDisabledModalProps = { isAdmin: boolean; onConfirm: () => void; onClose: () => void }; |
||||
|
||||
const CustomUserStatusDisabledModal = ({ isAdmin, onConfirm, onClose }: CustomUserStatusDisabledModalProps) => { |
||||
const t = useTranslation(); |
||||
return isAdmin ? ( |
||||
<GenericModal |
||||
title={t('User_status_disabled_learn_more')} |
||||
cancelText={t('Close')} |
||||
confirmText={t('Go_to_workspace_settings')} |
||||
children={t('User_status_disabled_learn_more_description')} |
||||
onConfirm={onConfirm} |
||||
onClose={onClose} |
||||
onCancel={onClose} |
||||
icon={null} |
||||
variant='warning' |
||||
/> |
||||
) : ( |
||||
<GenericModal |
||||
title={t('User_status_disabled_learn_more')} |
||||
confirmText={t('Close')} |
||||
children={t('User_status_disabled_learn_more_description')} |
||||
onConfirm={onConfirm} |
||||
onClose={onClose} |
||||
icon={null} |
||||
/> |
||||
); |
||||
}; |
||||
|
||||
export default CustomUserStatusDisabledModal; |
||||
@ -0,0 +1,22 @@ |
||||
import { useMutableCallback } from '@rocket.chat/fuselage-hooks'; |
||||
import { useRole, useRoute, useSetModal } from '@rocket.chat/ui-contexts'; |
||||
import React from 'react'; |
||||
|
||||
import CustomUserStatusDisabledModal from '../CustomUserStatusDisabledModal'; |
||||
|
||||
export const useStatusDisabledModal = () => { |
||||
const userStatusRoute = useRoute('user-status'); |
||||
const setModal = useSetModal(); |
||||
const closeModal = useMutableCallback(() => setModal()); |
||||
const handleGoToSettings = useMutableCallback(() => { |
||||
userStatusRoute.push({ context: 'presence-service' }); |
||||
closeModal(); |
||||
}); |
||||
const isAdmin = useRole('admin'); |
||||
|
||||
const handleSetModal = () => { |
||||
setModal(<CustomUserStatusDisabledModal isAdmin={isAdmin} onConfirm={handleGoToSettings} onClose={closeModal} />); |
||||
}; |
||||
|
||||
return handleSetModal; |
||||
}; |
||||
Loading…
Reference in new issue