Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
7152 stevensc 1
import React, { useState } from 'react'
2
import { Col, Modal, Row } from 'react-bootstrap'
3
import { useSelector } from 'react-redux'
4
import parse from 'html-react-parser'
6618 stevensc 5
 
7152 stevensc 6
import Feed from './linkedin/Feed'
7
 
8
const FeedModal = ({ show, onClose, feed }) => {
6618 stevensc 9
  const {
10
    owner_file_image,
11
    owner_file_video,
12
    owner_file_image_preview,
13
    owner_file_document,
14
    owner_description,
15
    shared_name,
16
    shared_image,
17
    shared_time_elapse,
18
    shared_description,
19
    shared_file_video,
20
    shared_file_image_preview,
21
    shared_file_image,
22
    shared_file_document,
23
    owner_name,
24
    owner_image,
25
    owner_time_elapse,
26
    owner_url,
27
    feed_delete_url,
28
    feed_unique,
7152 stevensc 29
    feed_content_type,
30
    feed_vote_url,
31
    shared_url,
6618 stevensc 32
  } = feed
7152 stevensc 33
  const [readMore, setReadMore] = useState(false)
34
  const labels = useSelector(({ intl }) => intl.labels)
6618 stevensc 35
 
7152 stevensc 36
  const onReadMore = () => {
37
    setReadMore(!readMore)
38
  }
39
 
40
  const htmlParsedText = (fullStringText = '') => {
41
    const fullText = parse(fullStringText)
42
    if (fullStringText.length > 500) {
43
      const shortenedString = fullStringText.substr(0, 500)
44
      const shortenedText = parse(`${shortenedString}... `)
45
      return (
46
        <>
47
          {readMore ? fullText : shortenedText}
48
          <span className="cursor-pointer" onClick={onReadMore}>
49
            {readMore ? labels.read_less : labels.read_more}
50
          </span>
51
        </>
52
      )
53
    }
54
    return <p>{fullText}</p>
55
  }
56
 
6618 stevensc 57
  return (
7152 stevensc 58
    <Modal show={show} onHide={onClose} dialogClassName="modal-lg">
6618 stevensc 59
      <Modal.Header closeButton />
60
      <Modal.Body>
7152 stevensc 61
        <Row>
62
          <Col md="8">
63
            <Feed.Content
64
              description={owner_description}
65
              image={owner_file_image}
66
              imagePreview={owner_file_image_preview}
67
              video={owner_file_video}
68
              document={owner_file_document}
6618 stevensc 69
              sharedItem={{
70
                name: shared_name,
71
                image: shared_image,
72
                time_elapse: shared_time_elapse,
73
                description: shared_description,
74
                file_video: shared_file_video,
75
                file_image_preview: shared_file_image_preview,
76
                file_image: shared_file_image,
77
                file_document: shared_file_document,
7152 stevensc 78
                shared_url,
6618 stevensc 79
              }}
7152 stevensc 80
              type={feed_content_type}
81
              voteUrl={feed_vote_url}
6618 stevensc 82
            />
7152 stevensc 83
          </Col>
84
          <Col md="4">
85
            <Feed.Header
86
              image={owner_image}
87
              name={owner_name}
88
              timeElapsed={owner_time_elapse}
89
              viewUrl={owner_url}
90
              deleteUrl={feed_delete_url}
6618 stevensc 91
              feedUnique={feed_unique}
92
            />
7153 stevensc 93
            {owner_description && htmlParsedText(owner_description)}
7152 stevensc 94
          </Col>
95
        </Row>
6618 stevensc 96
      </Modal.Body>
97
    </Modal>
98
  )
99
}
100
 
101
export default FeedModal