Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2541 | Rev 2556 | 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'
2554 stevensc 17
import Ckeditor from '@app/components/UI/Ckeditor'
199 stevensc 18
 
1581 stevensc 19
const Option = styled(Button)(({ theme }) => ({
1580 stevensc 20
  borderRadius: '50%',
21
  cursor: 'pointer',
22
  padding: 5,
1585 stevensc 23
  minWidth: 'auto',
1582 stevensc 24
  span: {
1580 stevensc 25
    display: 'none'
26
  },
27
  '&:hover': {
28
    backgroundColor: 'whitesmoke'
29
  },
30
  [theme.breakpoints.up('md')]: {
31
    alignItems: 'center',
32
    borderRadius: theme.shape.borderRadius,
33
    display: 'inline-flex',
34
    gap: 1,
35
    flex: 1,
1582 stevensc 36
    span: {
1580 stevensc 37
      display: 'initial'
38
    }
199 stevensc 39
  }
1580 stevensc 40
}))
199 stevensc 41
 
696 stevensc 42
const ShareComponent = ({ feedType, postUrl = '', image = '' }) => {
43
  const labels = useSelector(({ intl }) => intl.labels)
44
  const dispatch = useDispatch()
199 stevensc 45
 
1514 stevensc 46
  const onClickHandler = (postType) =>
696 stevensc 47
    dispatch(openShareModal(postUrl, postType, feedType))
199 stevensc 48
 
49
  return (
1512 stevensc 50
    <WidgetWrapper p={1}>
1514 stevensc 51
      <Box display='flex' alignItems='center' gap={1} mb={1}>
1513 stevensc 52
        <Avatar
53
          src={image}
54
          sx={{
55
            width: { xs: 40, sm: 50 },
56
            height: { xs: 40, sm: 50 }
57
          }}
58
        />
199 stevensc 59
 
1580 stevensc 60
        <Input
696 stevensc 61
          type='text'
199 stevensc 62
          readOnly
1514 stevensc 63
          icon={Create}
199 stevensc 64
          placeholder={labels.what_are_you_thinking}
65
          onClick={() => onClickHandler(shareModalTypes.POST)}
1581 stevensc 66
          sx={{ width: '100%' }}
67
          primary={false}
199 stevensc 68
        />
1513 stevensc 69
      </Box>
199 stevensc 70
 
2554 stevensc 71
      <Ckeditor />
72
 
1576 stevensc 73
      <Box display='flex' gap={1} justifyContent='space-between'>
1580 stevensc 74
        <Option onClick={() => onClickHandler(shareModalTypes.IMAGE)}>
2541 stevensc 75
          <Image sx={{ color: '#7405f9 !important' }} />
1580 stevensc 76
          <Typography variant='body2'>{labels.image}</Typography>
77
        </Option>
78
 
79
        <Option onClick={() => onClickHandler(shareModalTypes.VIDEO)}>
2541 stevensc 80
          <Subscriptions sx={{ color: '#E7A33E !important' }} />
1580 stevensc 81
          <Typography variant='body2'>{labels.video}</Typography>
82
        </Option>
83
 
84
        <Option onClick={() => onClickHandler(shareModalTypes.FILE)}>
2541 stevensc 85
          <Article sx={{ color: '#C0C8CD !important' }} />
1580 stevensc 86
          <Typography variant='body2'>{labels.document}</Typography>
87
        </Option>
88
 
89
        <Option onClick={() => onClickHandler(shareModalTypes.POST)}>
2541 stevensc 90
          <PostAdd sx={{ color: '#7FC15E !important' }} />
1580 stevensc 91
          <Typography variant='body2'>{labels.write}</Typography>
92
        </Option>
1514 stevensc 93
      </Box>
1512 stevensc 94
    </WidgetWrapper>
696 stevensc 95
  )
96
}
199 stevensc 97
 
696 stevensc 98
export default ShareComponent