Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

Rev 3409 | Rev 3757 | 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 (
3407 stevensc 16
        <div className='container h-100'>
1 www 17
            <div
3407 stevensc 18
                className='row p-2 m-2 h-100'
3361 stevensc 19
                style={{ backgroundColor: 'white' }}
1 www 20
            >
3361 stevensc 21
                <div className='col-md-6 col-sm-12 col-12'>
3409 stevensc 22
                    <div className="card justify-content-center h-100 border-none">
23
                        <img className="card-img-top border" src={baseUrl + post.image} alt={post.title} />
1 www 24
                    </div>
25
                </div>
3361 stevensc 26
                <div className='col-md-6 col-sm-12 col-12 d-flex align-items-center position-relative'>
1 www 27
                    <div className="card border-0">
28
                        <div className="card-body">
29
                            <h1 className="card-title font-weight-bold border-bottom">{post.title}</h1>
30
                            <p> {moment(post.date).format('DD-MM-YYYY')} </p>
31
                            <p className="card-text">
32
                                {parse(post.description)}
33
                            </p>
34
                            {
3361 stevensc 35
                                !!post.file &&
36
                                <a href={baseUrl + post.file} target='_blank' className="btn btn-primary mt-2" rel="noreferrer">
37
                                    <i className="fa fa-file" /> Ver adjunto
38
                                </a>
1 www 39
                            }
40
                        </div>
41
                    </div>
3361 stevensc 42
                    <button
3363 stevensc 43
                        className="btn p-0 position-absolute"
3361 stevensc 44
                        onClick={() => setShareOptions(!shareOptions)}
3384 stevensc 45
                        style={{ right: '1rem', top: '0', fontSize: '1.5rem' }}
3361 stevensc 46
                    >
3363 stevensc 47
                        <BiShareAlt />
3361 stevensc 48
                    </button>
49
                    {
50
                        shareOptions &&
3363 stevensc 51
                        <div className="ext_share post" ref={shareContainer}>
3384 stevensc 52
                            <FacebookShareButton url={post.share_external_url}>
3361 stevensc 53
                                <FacebookIcon size={32} round />
54
                            </FacebookShareButton>
3384 stevensc 55
                            <TwitterShareButton url={post.share_external_url}>
3361 stevensc 56
                                <TwitterIcon size={32} round />
57
                            </TwitterShareButton>
3384 stevensc 58
                            <TelegramShareButton url={post.share_external_url}>
3361 stevensc 59
                                <TelegramIcon size={32} round />
60
                            </TelegramShareButton>
3384 stevensc 61
                            <WhatsappShareButton url={post.share_external_url}>
3361 stevensc 62
                                <WhatsappIcon size={32} round />
63
                            </WhatsappShareButton>
3384 stevensc 64
                            <RedditShareButton url={post.share_external_url}>
3361 stevensc 65
                                <RedditIcon size={32} round />
66
                            </RedditShareButton>
3384 stevensc 67
                            <EmailShareButton url={post.share_external_url}>
3361 stevensc 68
                                <EmailIcon size={32} round />
69
                            </EmailShareButton>
70
                        </div>
71
                    }
1 www 72
                </div>
73
            </div>
3361 stevensc 74
        </div >
1 www 75
    )
76
}