Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
3588 stevensc 1
import React, { useState } from 'react';
2
import { useNavigate } from 'react-router-dom';
3
import { useDispatch } from 'react-redux';
4
import { Box, Button } from '@mui/material';
2960 stevensc 5
 
3588 stevensc 6
import { getOnRoom } from '@services/onRoom';
7
import { addNotification } from '@store/notification/notification.actions';
8
import colors from '@styles/colors';
2960 stevensc 9
 
3588 stevensc 10
import Spinner from '@components/UI/Spinner';
2960 stevensc 11
 
12
export default function AppsNavigation() {
3588 stevensc 13
  const [loading, setLoading] = useState(false);
14
  const dispatch = useDispatch();
15
  const navigate = useNavigate();
2960 stevensc 16
 
17
  const handleOnRoom = async () => {
18
    try {
3588 stevensc 19
      setLoading(true);
20
      const onRoomUrl = await getOnRoom();
21
      window.open(onRoomUrl, '_blank');
2960 stevensc 22
    } catch (error) {
3588 stevensc 23
      dispatch(addNotification({ style: 'danger', msg: error.message }));
2960 stevensc 24
    } finally {
3588 stevensc 25
      setLoading(false);
2960 stevensc 26
    }
3588 stevensc 27
  };
2960 stevensc 28
 
29
  return (
2961 stevensc 30
    <Box
31
      sx={{
32
        position: 'fixed',
33
        top: 0,
34
        left: 0,
35
        height: '100vh',
36
        width: '100%',
3588 stevensc 37
        backgroundColor: colors.background.primary,
2962 stevensc 38
        zIndex: 999,
39
        display: 'flex',
40
        flexDirection: 'column',
41
        placeContent: 'center',
42
        gap: '0.5rem',
43
        padding: '1rem'
2961 stevensc 44
      }}
45
    >
2960 stevensc 46
      {loading && <Spinner absolute />}
3156 stevensc 47
      <Button color='primary' onClick={() => navigate('/microlearning')}>
2960 stevensc 48
        Micro Aprendizaje
49
      </Button>
3156 stevensc 50
      <Button color='primary' onClick={handleOnRoom}>
2962 stevensc 51
        On room
52
      </Button>
3156 stevensc 53
      <Button color='primary' onClick={() => navigate('/habits')}>
3262 stevensc 54
        Hábitos y competencias
2962 stevensc 55
      </Button>
3156 stevensc 56
      <Button color='primary' onClick={() => navigate('/dashboard')}>
2962 stevensc 57
        Ir al inicio
58
      </Button>
2961 stevensc 59
    </Box>
3588 stevensc 60
  );
2960 stevensc 61
}