Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev Autor Línea Nro. Línea
3361 stevensc 1
/* eslint-disable react/prop-types */
2
import React, { useState } from 'react'
1 www 3
import parse from "html-react-parser";
4
import moment from 'moment'
3363 stevensc 5
import { BiShareAlt } from 'react-icons/bi'
3470 stevensc 6
import { EmailIcon, EmailShareButton, FacebookIcon, FacebookShareButton, RedditIcon, RedditShareButton, TelegramIcon, TelegramShareButton, TwitterIcon, TwitterShareButton, WhatsappIcon, WhatsappShareButton } from 'react-share';
3361 stevensc 7
import { useRef } from 'react';
8
 
9
export default function PostView({ post = {} }) {
10
 
1 www 11
    const baseUrl = `/storage/type/post/code/${post.uuid}/filename/`
3361 stevensc 12
    const shareContainer = useRef(null)
13
    const [shareOptions, setShareOptions] = useState(false)
14
 
1 www 15
    return (
3757 stevensc 16
        <div className='postContainer'>
17
            <div className="post_topbar" >
18
                <div className="usy-dt">
19
                    <div className="usy-name">
20
                        <h3>{post.title}</h3>
21
                        <span>
22
                            {moment(post.date).format('DD-MM-YYYY')}
23
                        </span>
1 www 24
                    </div>
25
                </div>
3757 stevensc 26
            </div >
27
            <div className="job_descp">
28
                <div className="show-read-more">
29
                    {parse(post.description)}
1 www 30
                </div>
3757 stevensc 31
                <img
32
                    alt={post.title}
33
                    src={baseUrl + post.image}
34
                    className="Entradas"
35
                />
1 www 36
            </div>
3757 stevensc 37
            <div className="job-status-bar">
38
                <ul className="reactions-list">
39
                    <li className="position-relative">
40
                        <button
41
                            type="button"
42
                            className="btn-indicator"
43
                            onClick={() => setShareOptions(!shareOptions)}
44
                        >
45
                            <BiShareAlt />
46
                        </button>
47
                        {
48
                            shareOptions &&
49
                            <div className="ext_share" ref={shareContainer}>
50
                                <FacebookShareButton url={post.share_external_url}>
51
                                    <FacebookIcon size={32} round />
52
                                </FacebookShareButton>
53
                                <TwitterShareButton url={post.share_external_url}>
54
                                    <TwitterIcon size={32} round />
55
                                </TwitterShareButton>
56
                                <TelegramShareButton url={post.share_external_url}>
57
                                    <TelegramIcon size={32} round />
58
                                </TelegramShareButton>
59
                                <WhatsappShareButton url={post.share_external_url}>
60
                                    <WhatsappIcon size={32} round />
61
                                </WhatsappShareButton>
62
                                <RedditShareButton url={post.share_external_url}>
63
                                    <RedditIcon size={32} round />
64
                                </RedditShareButton>
65
                                <EmailShareButton url={post.share_external_url}>
66
                                    <EmailIcon size={32} round />
67
                                </EmailShareButton>
68
                            </div>
69
                        }
70
                    </li>
71
                </ul>
72
            </div>
3361 stevensc 73
        </div >
1 www 74
    )
75
}