Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1581 | Rev 1583 | 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'
1581 stevensc 3
import { Avatar, Box, Button, 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
 
1581 stevensc 18
const Option = styled(Button)(({ theme }) => ({
1580 stevensc 19
  borderRadius: '50%',
20
  cursor: 'pointer',
21
  padding: 5,
1582 stevensc 22
  span: {
1580 stevensc 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,
1582 stevensc 34
    span: {
1580 stevensc 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)}
1581 stevensc 64
          sx={{ width: '100%' }}
65
          primary={false}
199 stevensc 66
        />
1513 stevensc 67
      </Box>
199 stevensc 68
 
1576 stevensc 69
      <Box display='flex' gap={1} justifyContent='space-between'>
1580 stevensc 70
        <Option onClick={() => onClickHandler(shareModalTypes.IMAGE)}>
71
          <Image sx={{ color: '#7405f9' }} />
72
          <Typography variant='body2'>{labels.image}</Typography>
73
        </Option>
74
 
75
        <Option onClick={() => onClickHandler(shareModalTypes.VIDEO)}>
76
          <Subscriptions sx={{ color: '#E7A33E' }} />
77
          <Typography variant='body2'>{labels.video}</Typography>
78
        </Option>
79
 
80
        <Option onClick={() => onClickHandler(shareModalTypes.FILE)}>
81
          <Article sx={{ color: '#C0C8CD' }} />
82
          <Typography variant='body2'>{labels.document}</Typography>
83
        </Option>
84
 
85
        <Option onClick={() => onClickHandler(shareModalTypes.POST)}>
86
          <PostAdd sx={{ color: '#7FC15E' }} />
87
          <Typography variant='body2'>{labels.write}</Typography>
88
        </Option>
1514 stevensc 89
      </Box>
1512 stevensc 90
    </WidgetWrapper>
696 stevensc 91
  )
92
}
199 stevensc 93
 
696 stevensc 94
export default ShareComponent