Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3141 | Rev 3143 | 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() {
3067 stevensc 9
  const {
10
    xmpp_hostname,
11
    xmpp_username,
12
    xmpp_password,
3076 stevensc 13
    xmpp_domain
14
    // xmpp_port
3067 stevensc 15
  } = useSelector((state) => state.auth)
2963 stevensc 16
  const isAuth = useSelector((state) => state.auth.isAuth)
5 stevensc 17
 
2589 stevensc 18
  useLayoutEffect(() => {
3102 stevensc 19
    const converse = window.converse
20
 
21
    if (!isAuth) {
22
      converse.connection?.disconnect()
23
    }
24
 
25
    if (!xmpp_hostname || !xmpp_username || !xmpp_password || !xmpp_domain) {
2595 stevensc 26
      return
3102 stevensc 27
    }
5 stevensc 28
 
2477 stevensc 29
    converse.initialize({
3076 stevensc 30
      bosh_service_url: `https://${xmpp_hostname}:${17443}/http-bind/`,
2477 stevensc 31
      authentication: 'login',
32
      jid: `${xmpp_username}@${xmpp_domain}.com`,
33
      password: xmpp_password,
34
      discover_connection_methods: false,
2480 stevensc 35
      allow_adhoc_commands: false,
2477 stevensc 36
      allow_registration: false,
2480 stevensc 37
      allow_logout: false,
2477 stevensc 38
      auto_login: true,
39
      auto_reconnect: true,
3142 stevensc 40
      debug: true,
2477 stevensc 41
      view_mode: 'overlayed',
3077 stevensc 42
      i18n: 'es',
3081 stevensc 43
      emojis: true,
3141 stevensc 44
      clear_cache_on_logout: true,
45
      persistent_store: 'localStorage',
3077 stevensc 46
      assets_path: '/public/'
2477 stevensc 47
    })
5 stevensc 48
 
2477 stevensc 49
    return () => {
2623 stevensc 50
      converse.connection?.disconnect()
5 stevensc 51
    }
3102 stevensc 52
  }, [xmpp_hostname, xmpp_password, xmpp_username, isAuth])
5 stevensc 53
 
3142 stevensc 54
  return <div id='converse-container'></div>
517 stevensc 55
}