Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 3274 | | Comparar con el anterior | Ultima modificación | Ver Log |

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