Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1235 stevensc 1
import React from 'react'
696 stevensc 2
import { useDispatch, useSelector } from 'react-redux'
1580 stevensc 3
import { Avatar, Box, Typography, styled } from '@mui/material'
1514 stevensc 4
import {
5
  Image,
6
  Create,
7
  Article,
8
  PostAdd,
9
  Subscriptions
10
} from '@mui/icons-material'
199 stevensc 11
 
1580 stevensc 12
import { openShareModal } from '@app/redux/share-modal/shareModal.actions'
13
import { shareModalTypes } from '@app/redux/share-modal/shareModal.types'
199 stevensc 14
 
1580 stevensc 15
import WidgetWrapper from '@app/components/widgets/WidgetLayout'
16
import Input from '@app/components/UI/Input'
199 stevensc 17
 
1580 stevensc 18
const Option = styled(Box)(({ theme }) => ({
19
  borderRadius: '50%',
20
  cursor: 'pointer',
21
  padding: 5,
22
  h4: {
23
    display: 'none'
24
  },
25
  '&:hover': {
26
    backgroundColor: 'whitesmoke'
27
  },
28
  [theme.breakpoints.up('md')]: {
29
    alignItems: 'center',
30
    borderRadius: theme.shape.borderRadius,
31
    display: 'inline-flex',
32
    gap: 1,
33
    flex: 1,
34
    h4: {
35
      display: 'initial'
36
    }
199 stevensc 37
  }
1580 stevensc 38
}))
199 stevensc 39
 
696 stevensc 40
const ShareComponent = ({ feedType, postUrl = '', image = '' }) => {
41
  const labels = useSelector(({ intl }) => intl.labels)
42
  const dispatch = useDispatch()
199 stevensc 43
 
1514 stevensc 44
  const onClickHandler = (postType) =>
696 stevensc 45
    dispatch(openShareModal(postUrl, postType, feedType))
199 stevensc 46
 
47
  return (
1512 stevensc 48
    <WidgetWrapper p={1}>
1514 stevensc 49
      <Box display='flex' alignItems='center' gap={1} mb={1}>
1513 stevensc 50
        <Avatar
51
          src={image}
52
          sx={{
53
            width: { xs: 40, sm: 50 },
54
            height: { xs: 40, sm: 50 }
55
          }}
56
        />
199 stevensc 57
 
1580 stevensc 58
        <Input
696 stevensc 59
          type='text'
199 stevensc 60
          readOnly
1514 stevensc 61
          icon={Create}
199 stevensc 62
          placeholder={labels.what_are_you_thinking}
63
          onClick={() => onClickHandler(shareModalTypes.POST)}
64
        />
1513 stevensc 65
      </Box>
199 stevensc 66
 
1576 stevensc 67
      <Box display='flex' gap={1} justifyContent='space-between'>
1580 stevensc 68
        <Option onClick={() => onClickHandler(shareModalTypes.IMAGE)}>
69
          <Image sx={{ color: '#7405f9' }} />
70
          <Typography variant='body2'>{labels.image}</Typography>
71
        </Option>
72
 
73
        <Option onClick={() => onClickHandler(shareModalTypes.VIDEO)}>
74
          <Subscriptions sx={{ color: '#E7A33E' }} />
75
          <Typography variant='body2'>{labels.video}</Typography>
76
        </Option>
77
 
78
        <Option onClick={() => onClickHandler(shareModalTypes.FILE)}>
79
          <Article sx={{ color: '#C0C8CD' }} />
80
          <Typography variant='body2'>{labels.document}</Typography>
81
        </Option>
82
 
83
        <Option onClick={() => onClickHandler(shareModalTypes.POST)}>
84
          <PostAdd sx={{ color: '#7FC15E' }} />
85
          <Typography variant='body2'>{labels.write}</Typography>
86
        </Option>
1514 stevensc 87
      </Box>
1512 stevensc 88
    </WidgetWrapper>
696 stevensc 89
  )
90
}
199 stevensc 91
 
696 stevensc 92
export default ShareComponent