Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2879 | Rev 3067 | Ir a la última revisión | | Comparar con el anterior | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
2477 stevensc 1
import React, { useLayoutEffect } from 'react'
2
import { useSelector } from 'react-redux'
2595 stevensc 3
import 'converse.js'
2879 stevensc 4
 
2595 stevensc 5
import './converse.css'
2596 stevensc 6
import './chat.css'
5 stevensc 7
 
2477 stevensc 8
export function Chat() {
9
  const { xmpp_hostname, xmpp_username, xmpp_password, xmpp_domain } =
10
    useSelector((state) => state.auth)
2963 stevensc 11
  const isAuth = useSelector((state) => state.auth.isAuth)
5 stevensc 12
 
2589 stevensc 13
  useLayoutEffect(() => {
2595 stevensc 14
    if (!xmpp_hostname || !xmpp_username || !xmpp_password || !xmpp_domain)
15
      return
5 stevensc 16
 
2595 stevensc 17
    const converse = window.converse
18
 
2477 stevensc 19
    converse.initialize({
20
      bosh_service_url: `https://${xmpp_hostname}:17443/http-bind/`,
21
      authentication: 'login',
22
      jid: `${xmpp_username}@${xmpp_domain}.com`,
23
      password: xmpp_password,
24
      discover_connection_methods: false,
2480 stevensc 25
      allow_adhoc_commands: false,
2477 stevensc 26
      allow_registration: false,
2480 stevensc 27
      allow_logout: false,
2477 stevensc 28
      auto_login: true,
29
      auto_reconnect: true,
30
      debug: false,
31
      view_mode: 'overlayed',
32
      i18n: 'es',
2595 stevensc 33
      assets_path: '/public/'
2477 stevensc 34
    })
5 stevensc 35
 
2477 stevensc 36
    return () => {
2623 stevensc 37
      converse.connection?.disconnect()
5 stevensc 38
    }
2589 stevensc 39
  }, [xmpp_hostname, xmpp_password, xmpp_username])
5 stevensc 40
 
2963 stevensc 41
  return isAuth ? <div id='converse-container'></div> : null
517 stevensc 42
}