Proyectos de Subversion LeadersLinked - SPA

Rev

| Ultima modificación | Ver Log |

Rev Autor Línea Nro. Línea
5 stevensc 1
import React, { useState } from 'react'
2
import { useSelector } from 'react-redux'
1577 stevensc 3
import { Avatar, Box, Typography } from '@mui/material'
5 stevensc 4
 
1577 stevensc 5
import { getOnRoom } from '@app/services/onRoom'
6
import { addNotification } from '@app/redux/notification/notification.actions'
5 stevensc 7
 
1577 stevensc 8
import Spinner from '@app/components/UI/Spinner'
1507 stevensc 9
import WidgetWrapper from '../WidgetLayout'
5 stevensc 10
 
1578 stevensc 11
const AppsWidget = ({ moodle, microlearning }) => {
5 stevensc 12
  const [loading, setLoading] = useState(false)
13
  const labels = useSelector(({ intl }) => intl.labels)
14
 
15
  const handleOnRoom = async () => {
16
    try {
17
      setLoading(true)
1577 stevensc 18
      const response = await getOnRoom()
852 stevensc 19
 
1577 stevensc 20
      const form = document.createElement('form')
21
      form.setAttribute('method', 'post')
22
      form.setAttribute('action', response.url)
23
      form.setAttribute('target', '_blank')
24
      Object.keys(response).forEach((key) => {
25
        if (key !== 'url') {
26
          const value = response[key]
27
          const hiddenField = document.createElement('input')
28
          hiddenField.setAttribute('type', 'hidden')
29
          hiddenField.setAttribute('name', key)
30
          hiddenField.setAttribute('value', value)
31
          form.appendChild(hiddenField)
32
        }
33
      })
34
      document.body.appendChild(form)
35
      form.submit()
5 stevensc 36
    } catch (error) {
37
      console.log('>>: error > ', error)
1577 stevensc 38
      addNotification({ style: 'danger', msg: error.message })
5 stevensc 39
    } finally {
40
      setLoading(false)
41
    }
42
  }
43
 
44
  return (
1579 stevensc 45
    <WidgetWrapper
46
      sx={{
47
        padding: 2,
48
        display: 'flex',
49
        flexDirection: 'column',
50
        alignItems: 'center'
51
      }}
52
    >
5 stevensc 53
      {loading && <Spinner />}
1577 stevensc 54
 
1579 stevensc 55
      <Avatar
56
        sx={{ cursor: 'pointer' }}
57
        src={moodle.image}
58
        alt={moodle.name}
59
        onClick={() => handleOnRoom()}
60
      />
61
      <Typography variant='body2'>{moodle.name}</Typography>
1577 stevensc 62
 
63
      <Box
64
        sx={{
65
          display: 'flex',
66
          alignItems: 'center',
1579 stevensc 67
          justifyContent: 'center',
68
          gap: 1,
69
          mt: 1
1577 stevensc 70
        }}
71
      >
849 stevensc 72
        <a href={microlearning.playStore} target='_blank' rel='noreferrer'>
1577 stevensc 73
          <Avatar src='/images/logo-2getskillsa-apple.jpeg' />
5 stevensc 74
        </a>
1577 stevensc 75
 
849 stevensc 76
        <a href={microlearning.appStore} target='_blank' rel='noreferrer'>
1577 stevensc 77
          <Avatar src='/images/logo-2getskills-android.jpeg' />
5 stevensc 78
        </a>
1577 stevensc 79
      </Box>
80
 
1578 stevensc 81
      <Typography variant='body2'>{labels.microlearning}</Typography>
1577 stevensc 82
    </WidgetWrapper>
5 stevensc 83
  )
84
}
85
 
1578 stevensc 86
export default AppsWidget