import {useFormContext} from 'react-hook-form'; import {AdminSettings} from '../../admin-settings'; import {useSocialLogin} from '../../../../auth/requests/use-social-login'; import {toast} from '../../../../ui/toast/toast'; import {message} from '../../../../i18n/message'; import {Button} from '../../../../ui/buttons/button'; import {GmailIcon} from './gmail-icon'; import {Trans} from '../../../../i18n/trans'; import {FormTextField} from '../../../../ui/forms/input-field/text-field/text-field'; import {Fragment} from 'react'; export function GmailCredentials() { const {watch, setValue} = useFormContext(); const {connectSocial} = useSocialLogin(); const connectedEmail = watch('server.connectedGmailAccount'); const gmailIsIncoming = watch('client.mail.handler') === 'gmailApi'; const handleGmailConnect = async () => { const e = await connectSocial('secure/settings/mail/gmail/connect'); if (e?.status === 'SUCCESS') { const email = (e.callbackData as any).profile.email; setValue('server.connectedGmailAccount', email); toast(message('Connected gmail account: :email', {values: {email}})); } }; const connectButton = ( ); const reconnectPanel = (
{connectedEmail}
); return ( {gmailIsIncoming && ( } description={} className="mb-30" /> )}
{connectedEmail ? reconnectPanel : connectButton}
); }