Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2875 stevensc 1
import React, { useState } from 'react'
2960 stevensc 2
import { Avatar, Typography } from '@mui/material'
2875 stevensc 3
 
4
import { getOnRoom } from '@services/onRoom'
5
import { addNotification } from '@store/notification/notification.actions'
6
 
7
import Widget from '@components/UI/Widget'
8
import Spinner from '@components/UI/Spinner'
9
 
10
export default function OnRoomWidget({ moodle }) {
11
  const [loading, setLoading] = useState(false)
12
 
13
  const handleOnRoom = async () => {
14
    try {
15
      setLoading(true)
2960 stevensc 16
      const onRoomUrl = await getOnRoom()
17
      window.open(onRoomUrl, '_blank')
2875 stevensc 18
    } catch (error) {
19
      addNotification({ style: 'danger', msg: error.message })
20
    } finally {
21
      setLoading(false)
22
    }
23
  }
24
 
25
  return (
26
    <Widget>
2884 stevensc 27
      <Widget.Body styles={{ display: 'grid', placeItems: 'center' }}>
2960 stevensc 28
        {loading && <Spinner absolute />}
2875 stevensc 29
 
30
        <Avatar
31
          sx={{ cursor: 'pointer' }}
32
          src={moodle.image}
33
          alt={moodle.name}
34
          onClick={() => handleOnRoom()}
35
        />
2917 stevensc 36
        <Typography variant='overline'>{moodle.name}</Typography>
2875 stevensc 37
      </Widget.Body>
38
    </Widget>
39
  )
40
}