Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
3630 stevensc 1
/* eslint-disable react/prop-types */
2
import React, { useState } from 'react'
3
import parse from "html-react-parser";
4
 
5
const SharedContent = ({
6
    name,
7
    image,
8
    timeElapse,
9
    description,
10
    fileVideo,
11
    fileImagePreview,
12
    fileImage,
13
    fileDocument,
14
}) => {
15
 
16
    const [isReadMoreActive, setIsReadMoreActive] = useState(false);
17
 
18
    const readMoreHandler = () => setIsReadMoreActive(!isReadMoreActive)
19
 
20
    const htmlParsedText = (fullStringText) => {
21
        const fullText = parse(fullStringText)
22
        if (fullStringText.length > 500) {
23
            const shortenedString = fullStringText.substr(0, 500);
24
            const shortenedText = parse(`${shortenedString}... `);
25
            return (
26
                <p>
27
                    {isReadMoreActive ? fullText : shortenedText}
28
                    <span className='cursor-pointer' onClick={readMoreHandler}>
29
                        {isReadMoreActive ? " Leer menos" : " Leer más"}
30
                    </span>
31
                </p>
32
            );
33
        }
34
        return <p>{fullText}</p>
35
    };
36
 
37
    return (
38
        <div className="shared-post-bar">
39
            <div className="post-bar">
40
                <div className="post_topbar">
41
                    <div className="usy-dt">
42
                        <img
43
                            src={image}
44
                            alt=""
45
                            style={{ width: "50px", height: "auto" }}
46
                        />
47
                        <div className="usy-name">
48
                            <h3>{name}</h3>
49
                            <span>
50
                                {timeElapse}
51
                            </span>
52
                        </div>
53
                    </div>
54
                </div>
55
                <div className="job_descp">
56
                    <div className="show-read-more">
57
                        {htmlParsedText(description)}
58
                    </div>
59
                    {fileImage &&
3949 stevensc 60
                        <img src={fileImage} className="Entradas" loading='lazy' />
3630 stevensc 61
                    }
62
                    {fileVideo &&
63
                        <video
64
                            src={fileVideo}
65
                            controls
66
                            poster={fileImagePreview}
67
                            preload="none"
68
                        />
69
                    }
70
                    {fileDocument &&
71
                        <a href={fileDocument} target="_blank" rel="noreferrer">
72
                            Descargar
73
                        </a>
74
                    }
75
                </div>
76
            </div>
77
        </div>
78
    )
79
}
80
 
81
export default SharedContent