Proyectos de Subversion LeadersLinked - SPA

Rev

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

Rev Autor Línea Nro. Línea
2190 stevensc 1
import React from 'react'
2191 stevensc 2
import { useParams } from 'react-router-dom'
740 stevensc 3
import { Container, Grid } from '@mui/material'
5 stevensc 4
 
2780 stevensc 5
import { usePosts } from '@hooks'
5 stevensc 6
 
2190 stevensc 7
import PostCard from '@app/components/post/PostCard'
8
import HomeNews from '@app/components/widgets/default/HomeNews'
520 stevensc 9
 
5 stevensc 10
const PostViewPage = () => {
2191 stevensc 11
  const { uuid } = useParams()
2190 stevensc 12
  const {
13
    post,
14
    addComment,
15
    updateTotalShare,
16
    updateMyReaction,
17
    updateReactions
2191 stevensc 18
  } = usePosts(`/post/${uuid}`)
5 stevensc 19
 
20
  return (
740 stevensc 21
    <Container as='main' className='px-0'>
22
      <Grid container spacing={2}>
23
        <Grid item xs={12} md={8}>
2190 stevensc 24
          <PostCard
25
            post={post}
26
            addComment={addComment}
27
            updateTotalShare={updateTotalShare}
28
            updateMyReaction={updateMyReaction}
29
            updateReactions={updateReactions}
30
          />
740 stevensc 31
        </Grid>
32
 
33
        <Grid item xs={12} md={4}>
776 stevensc 34
          <HomeNews currentPost={post.uuid} />
740 stevensc 35
        </Grid>
36
      </Grid>
5 stevensc 37
    </Container>
735 stevensc 38
  )
39
}
5 stevensc 40
 
2162 stevensc 41
export const renderContent = ({ type, file }) => {
42
  switch (type) {
43
    case 'video': {
2165 stevensc 44
      return (
45
        <video src={file} controls preload='none' controlsList='nodownload' />
46
      )
2162 stevensc 47
    }
48
 
49
    case 'image': {
50
      return <img src={file} />
51
    }
52
 
53
    case 'document': {
54
      return (
2384 stevensc 55
        <a href={file} download>
2162 stevensc 56
          <img className='pdf' src='/images/extension/pdf.png' alt='pdf' />
57
        </a>
58
      )
59
    }
2169 stevensc 60
 
2180 stevensc 61
    case 'audio': {
62
      return (
63
        <audio controls>
64
          <source src={file} />
65
        </audio>
66
      )
67
    }
68
 
2169 stevensc 69
    default: {
70
      return (
2384 stevensc 71
        <a href={file} download>
2169 stevensc 72
          <img className='pdf' src='/images/extension/pdf.png' alt='pdf' />
73
        </a>
74
      )
75
    }
2162 stevensc 76
  }
77
}
78
 
735 stevensc 79
export default PostViewPage