Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
1233 stevensc 1
import React, { useEffect } 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'
1233 stevensc 18
import InputForm from 'components/UI/form/InputForm'
19
import { useForm } from 'react-hook-form'
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
 
1233 stevensc 39
  const { control, formState } = useForm()
40
 
199 stevensc 41
  const onClickHandler = (postType) => {
696 stevensc 42
    dispatch(openShareModal(postUrl, postType, feedType))
43
  }
199 stevensc 44
 
1233 stevensc 45
  useEffect(() => {
46
    console.log(formState)
47
  }, [formState])
48
 
199 stevensc 49
  return (
50
    <div className={styles.share__container}>
51
      <div className={styles.input__container}>
332 stevensc 52
        <Avatar src={image} className={styles.user_image} />
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
        />
1233 stevensc 61
 
62
        <InputForm control={control} name='text' />
199 stevensc 63
      </div>
64
 
65
      <div className={styles.share__options}>
66
        <ShareOption
67
          icon={ImageIcon}
68
          title={labels.image}
696 stevensc 69
          color='#7405f9'
199 stevensc 70
          onClick={() => onClickHandler(shareModalTypes.IMAGE)}
71
        />
72
        <ShareOption
73
          icon={SubscriptionsIcon}
74
          title={labels.video}
696 stevensc 75
          color='#E7A33E'
199 stevensc 76
          onClick={() => onClickHandler(shareModalTypes.VIDEO)}
77
        />
78
        <ShareOption
79
          icon={ArticleIcon}
80
          title={labels.document}
696 stevensc 81
          color='#C0C8CD'
199 stevensc 82
          onClick={() => onClickHandler(shareModalTypes.FILE)}
83
        />
84
        <ShareOption
85
          icon={PostAddIcon}
86
          title={labels.write}
696 stevensc 87
          color='#7FC15E'
199 stevensc 88
          onClick={() => onClickHandler(shareModalTypes.POST)}
89
        />
90
      </div>
91
    </div>
696 stevensc 92
  )
93
}
199 stevensc 94
 
696 stevensc 95
export default ShareComponent