Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2806 | Rev 3274 | 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'
2806 stevensc 3
import { Grid } from '@mui/material'
5 stevensc 4
 
2780 stevensc 5
import { usePosts } from '@hooks'
5 stevensc 6
 
2885 stevensc 7
import PostCard from '@components/post/PostCard'
8
import HomeNews from '@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 (
2806 stevensc 21
    <Grid container spacing={2}>
22
      <Grid item xs={12} md={8}>
23
        <PostCard
24
          post={post}
25
          addComment={addComment}
26
          updateTotalShare={updateTotalShare}
27
          updateMyReaction={updateMyReaction}
28
          updateReactions={updateReactions}
29
        />
30
      </Grid>
740 stevensc 31
 
2806 stevensc 32
      <Grid item xs={12} md={4}>
33
        <HomeNews currentPost={post.uuid} />
740 stevensc 34
      </Grid>
2806 stevensc 35
    </Grid>
735 stevensc 36
  )
37
}
5 stevensc 38
 
2162 stevensc 39
export const renderContent = ({ type, file }) => {
40
  switch (type) {
41
    case 'video': {
2165 stevensc 42
      return (
43
        <video src={file} controls preload='none' controlsList='nodownload' />
44
      )
2162 stevensc 45
    }
46
 
47
    case 'image': {
48
      return <img src={file} />
49
    }
50
 
51
    case 'document': {
52
      return (
2384 stevensc 53
        <a href={file} download>
2162 stevensc 54
          <img className='pdf' src='/images/extension/pdf.png' alt='pdf' />
55
        </a>
56
      )
57
    }
2169 stevensc 58
 
2180 stevensc 59
    case 'audio': {
60
      return (
61
        <audio controls>
62
          <source src={file} />
63
        </audio>
64
      )
65
    }
66
 
2169 stevensc 67
    default: {
68
      return (
2384 stevensc 69
        <a href={file} download>
2169 stevensc 70
          <img className='pdf' src='/images/extension/pdf.png' alt='pdf' />
71
        </a>
72
      )
73
    }
2162 stevensc 74
  }
75
}
76
 
735 stevensc 77
export default PostViewPage