Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 1512 | Rev 1514 | 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 { openShareModal } from '../../../../redux/share-modal/shareModal.actions'
3
import { shareModalTypes } from '../../../../redux/share-modal/shareModal.types'
4
import { useDispatch, useSelector } from 'react-redux'
5
import styled from 'styled-components'
199 stevensc 6
 
696 stevensc 7
import Avatar from '@mui/material/Avatar'
8
import ImageIcon from '@mui/icons-material/Image'
9
import CreateIcon from '@mui/icons-material/Create'
10
import ArticleIcon from '@mui/icons-material/Article'
11
import PostAddIcon from '@mui/icons-material/PostAdd'
12
import SubscriptionsIcon from '@mui/icons-material/Subscriptions'
199 stevensc 13
 
696 stevensc 14
import Input from '../../../UI/Input'
15
import ShareOption from './ShareOption'
199 stevensc 16
 
696 stevensc 17
import styles from './ShareComponent.module.scss'
1512 stevensc 18
import WidgetWrapper from 'components/widgets/WidgetLayout'
1513 stevensc 19
import { Box } from '@mui/material'
199 stevensc 20
 
21
const StyledInput = styled(Input)`
22
  border: 1px solid lightgray;
23
  background-color: #fff;
24
  border-radius: 30px;
25
  padding: 5px;
26
  padding-left: 1rem;
27
  flex: 1;
28
  cursor: pointer;
29
 
30
  &:hover {
31
    background-color: rgba(0, 0, 0, 0.08);
32
  }
696 stevensc 33
`
199 stevensc 34
 
696 stevensc 35
const ShareComponent = ({ feedType, postUrl = '', image = '' }) => {
36
  const labels = useSelector(({ intl }) => intl.labels)
37
  const dispatch = useDispatch()
199 stevensc 38
 
39
  const onClickHandler = (postType) => {
696 stevensc 40
    dispatch(openShareModal(postUrl, postType, feedType))
41
  }
199 stevensc 42
 
43
  return (
1512 stevensc 44
    <WidgetWrapper p={1}>
1513 stevensc 45
      <Box display='flex' alignItems='center' gap={1}>
46
        <Avatar
47
          src={image}
48
          sx={{
49
            width: { xs: 40, sm: 50 },
50
            height: { xs: 40, sm: 50 }
51
          }}
52
        />
199 stevensc 53
 
54
        <StyledInput
696 stevensc 55
          type='text'
199 stevensc 56
          readOnly
57
          icon={CreateIcon}
58
          placeholder={labels.what_are_you_thinking}
59
          onClick={() => onClickHandler(shareModalTypes.POST)}
60
        />
1513 stevensc 61
      </Box>
199 stevensc 62
 
63
      <div className={styles.share__options}>
64
        <ShareOption
65
          icon={ImageIcon}
66
          title={labels.image}
696 stevensc 67
          color='#7405f9'
199 stevensc 68
          onClick={() => onClickHandler(shareModalTypes.IMAGE)}
69
        />
70
        <ShareOption
71
          icon={SubscriptionsIcon}
72
          title={labels.video}
696 stevensc 73
          color='#E7A33E'
199 stevensc 74
          onClick={() => onClickHandler(shareModalTypes.VIDEO)}
75
        />
76
        <ShareOption
77
          icon={ArticleIcon}
78
          title={labels.document}
696 stevensc 79
          color='#C0C8CD'
199 stevensc 80
          onClick={() => onClickHandler(shareModalTypes.FILE)}
81
        />
82
        <ShareOption
83
          icon={PostAddIcon}
84
          title={labels.write}
696 stevensc 85
          color='#7FC15E'
199 stevensc 86
          onClick={() => onClickHandler(shareModalTypes.POST)}
87
        />
88
      </div>
1512 stevensc 89
    </WidgetWrapper>
696 stevensc 90
  )
91
}
199 stevensc 92
 
696 stevensc 93
export default ShareComponent