Proyectos de Subversion LeadersLinked - SPA

Rev

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