Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 6617 | Ir a la última revisión | | Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
6515 stevensc 1
/* eslint-disable react/prop-types */
2
import React, { useState } from 'react'
3
import { axios } from '../../../utils'
4
import { useSelector } from 'react-redux'
5
 
6
import { addNotification } from '../../../redux/notification/notification.actions'
7
 
8
import Spinner from '../../UI/EmptySection'
9
 
10
const SocialNetworks = ({ moodle, microlearning }) => {
11
  const [loading, setLoading] = useState(false)
12
  const labels = useSelector((state) => state.labels)
13
 
14
  const handleOnRoom = async () => {
15
    try {
16
      setLoading(true)
17
      const response = await axios.post('/moodle')
18
      if (response.data.success) {
19
        const form = document.createElement('form')
20
        form.setAttribute('method', 'post')
21
        form.setAttribute('action', response.data.data.url)
22
        form.setAttribute('target', '_blank')
23
        Object.keys(response.data.data).forEach((key) => {
24
          if (key !== 'url') {
25
            const value = response.data.data[key]
26
            const hiddenField = document.createElement('input')
27
            hiddenField.setAttribute('type', 'hidden')
28
            hiddenField.setAttribute('name', key)
29
            hiddenField.setAttribute('value', value)
30
            form.appendChild(hiddenField)
31
          }
32
        })
33
        document.body.appendChild(form)
34
        form.submit()
35
      }
36
    } catch (error) {
37
      console.log('>>: error > ', error)
38
      addNotification({
39
        style: 'danger',
40
        msg: 'Ha ocurrido un error en la comunicacion con ON ROOM',
41
      })
42
    } finally {
43
      setLoading(false)
44
    }
45
  }
46
 
47
  return (
48
    <div className="app-widget">
49
      {loading && <Spinner />}
50
      <span
51
        className="d-flex flex-column align-items-center gap-2 cursor-pointer"
52
        onClick={() => handleOnRoom()}
53
      >
54
        <img src={moodle.image} alt="" />
55
        {moodle.name}
56
      </span>
57
      <div className="d-flex align-items-center justify-content-center gap-2">
58
        <a href={microlearning.playStore} target="_blank" rel="noreferrer">
59
          <img src="/images/logo-2getskillsa-apple.jpeg" alt="" />
60
        </a>
61
        <a href={microlearning.appStore} target="_blank" rel="noreferrer">
62
          <img src="/images/logo-2getskills-android.jpeg" alt="" />
63
        </a>
64
      </div>
65
      <span>{labels.MICRO_LEARNING}</span>
66
    </div>
67
  )
68
}
69
 
70
export default SocialNetworks