Proyectos de Subversion LeadersLinked - SPA

Rev

Rev 2365 | Rev 2367 | Ir a la última revisión | Mostrar el archivo completo | | | Autoría | Ultima modificación | Ver Log |

Rev 2365 Rev 2366
Línea 1... Línea 1...
1
import React from 'react'
1
import React from 'react'
2
import { Container, Grid } from '@mui/material'
2
import { Container, Grid } from '@mui/material'
3
import parse from 'html-react-parser'
3
// import parse from 'html-react-parser'
Línea 4... Línea 4...
4
 
4
 
5
import Widget from '@app/components/UI/Widget'
5
import Widget from '@app/components/UI/Widget'
Línea 6... Línea 6...
6
import SurveyForm from '@app/components/survey-form/SurveyForm'
6
// import SurveyForm from '@app/components/survey-form/SurveyForm'
7
 
-
 
8
function ShorterPostPage() {
-
 
9
  const post = {
-
 
10
    feed_unique: '664e1becdd052',
-
 
11
    feed_uuid: 'cb789433-8299-4a93-ab42-d0628a224187',
-
 
12
    feed_my_reaction: 'l',
-
 
13
    feed_delete_url: '/feed/delete/cb789433-8299-4a93-ab42-d0628a224187',
-
 
14
    feed_content_type: '',
-
 
15
    feed_reactions: [
-
 
16
      {
-
 
17
        total: 1,
-
 
18
        reaction: 'l'
-
 
19
      }
-
 
20
    ],
-
 
21
    feed_reactions_url:
-
 
22
      'https://dev-services.leaderslinked.com/feed/reactions/cb789433-8299-4a93-ab42-d0628a224187',
-
 
23
    feed_save_reaction_url:
-
 
24
      '/feed/save-reaction/cb789433-8299-4a93-ab42-d0628a224187',
-
 
25
    feed_highlighted: 0,
-
 
26
    feed_abuse_report_url: '',
-
 
27
    feed_delete_reaction_url:
-
 
28
      '/feed/delete-reaction/cb789433-8299-4a93-ab42-d0628a224187',
-
 
29
    feed_share_url:
-
 
30
      '/feed/share/cb789433-8299-4a93-ab42-d0628a224187/group/b294cd89-ebf4-427a-8d5e-332a3bf6924e',
-
 
31
    feed_share_external_url:
-
 
32
      'https://dev-services.leaderslinked.com/shorter/cb789433-8299-4a93-ab42-d0628a224187/generate/feed',
-
 
33
    feed_increment_external_counter_url:
-
 
34
      'https://dev-services.leaderslinked.com/share/type/feed/code/cb789433-8299-4a93-ab42-d0628a224187/user/e85129fa-18eb-4149-8640-fea9ae916cdc/timestamp/1716394988/rand/1496831637/password/87713bf90d8e3c4d3c70cf60e0703424/increment-external-counter',
-
 
35
    feed_vote_url: '',
-
 
36
    owner_url: '',
-
 
37
    owner_image:
-
 
38
      'https://dev-services.leaderslinked.com/storage/type/group/code/b294cd89-ebf4-427a-8d5e-332a3bf6924e/filename/group-image-65312ac078b8c.png/',
-
 
39
    owner_name: 'prueba',
-
 
40
    owner_description: '<p>New post</p>\r\n',
-
 
41
    owner_feed_type: 'g',
-
 
42
    owner_shared: 0,
-
 
43
    owner_external_shared: 0,
-
 
44
    owner_comments: 0,
-
 
45
    owner_time_elapse: '5 dias',
-
 
46
    comment_add_url: '/feed/comment/cb789433-8299-4a93-ab42-d0628a224187',
-
 
47
    comments: []
-
 
48
  }
7
 
49
 
8
function ShorterPostPage() {
50
  return (
9
  return (
51
    <Container>
10
    <Container>
52
      <Grid
11
      <Grid
Línea 58... Línea 17...
58
        }}
17
        }}
59
      >
18
      >
60
        <Grid item xs={12} md={8}>
19
        <Grid item xs={12} md={8}>
61
          <Widget>
20
          <Widget>
62
            <Widget.Header
21
            <Widget.Header
63
              avatar={post.owner_image}
22
              avatar=''
64
              title={post.owner_name}
23
              title='Santiago Olivera'
65
              subheader={post.owner_time_elapse}
24
              subheader='5 dias'
66
            />
25
            />
Línea 67... Línea 26...
67
 
26
 
-
 
27
            <Widget.Content>
-
 
28
              <p>
-
 
29
                Lorem ipsum dolor sit amet consectetur adipisicing elit. Vero,
-
 
30
                harum. Dolor quos, sunt eius aliquam quo ipsam temporibus
68
            <Widget.Content>
31
                tempore quae rem soluta, molestias, porro libero! Ipsum
-
 
32
                reprehenderit velit perspiciatis excepturi!
69
              <p>{post.owner_description}</p>
33
              </p>
70
            </Widget.Content>
34
            </Widget.Content>
71
          </Widget>
35
          </Widget>
72
        </Grid>
36
        </Grid>
73
      </Grid>
37
      </Grid>
74
    </Container>
38
    </Container>
75
  )
39
  )
Línea 76... Línea -...
76
}
-
 
77
 
-
 
78
const FeedContent = ({ feed }) => {
-
 
79
  const renderContent = ({
-
 
80
    owner_description,
-
 
81
    owner_file_image_preview,
-
 
82
    owner_file_video,
-
 
83
    owner_file_image,
-
 
84
    shared_name,
-
 
85
    shared_image,
-
 
86
    shared_time_elapse,
-
 
87
    feed_content_type,
-
 
88
    feed_vote_url
-
 
89
  }) => {
-
 
90
    console.log(owner_description)
-
 
91
 
-
 
92
    switch (feed_content_type) {
-
 
93
      case 'fast-survey': {
-
 
94
        const answers = []
-
 
95
        const votes = []
-
 
96
 
-
 
97
        for (let i = 1; i < 6; i++) {
-
 
98
          answers.push(owner_description[`answer${i}`])
-
 
99
          votes.push(owner_description[`votes${i}`])
-
 
100
        }
-
 
101
 
-
 
102
        return (
-
 
103
          <SurveyForm
-
 
104
            active={owner_description.active}
-
 
105
            question={owner_description.question}
-
 
106
            answers={answers}
-
 
107
            votes={votes}
-
 
108
            time={owner_description.time_remaining}
-
 
109
            voteUrl={feed_vote_url}
-
 
110
            resultType={owner_description.result_type}
-
 
111
          />
-
 
112
        )
-
 
113
      }
-
 
114
 
-
 
115
      case 'video': {
-
 
116
        return (
-
 
117
          <>
-
 
118
            {parse(owner_description ?? '')}
-
 
119
            <video controls poster={owner_file_image_preview}>
-
 
120
              <source src={owner_file_video} />
-
 
121
            </video>
-
 
122
          </>
-
 
123
        )
-
 
124
      }
-
 
125
 
-
 
126
      case 'image': {
-
 
127
        return (
-
 
128
          <>
-
 
129
            {parse(owner_description ?? '')}
-
 
130
            <img src={owner_file_image} loading='lazy' />
-
 
131
          </>
-
 
132
        )
-
 
133
      }
-
 
134
 
-
 
135
      case 'document': {
-
 
136
        return (
-
 
137
          <>
-
 
138
            {parse(owner_description ?? '')}
-
 
139
            <a href={document} target='_blank' rel='noreferrer'>
-
 
140
              <img className='pdf' src='/images/extension/pdf.png' alt='pdf' />
-
 
141
            </a>
-
 
142
          </>
-
 
143
        )
-
 
144
      }
-
 
145
 
-
 
146
      case 'shared': {
-
 
147
        return (
-
 
148
          <>
-
 
149
            {parse(owner_description ?? '')}
-
 
150
            <Widget>
-
 
151
              <Widget.Header
-
 
152
                avatar={shared_image}
-
 
153
                title={shared_name}
-
 
154
                subheader={shared_time_elapse}
-
 
155
              />
-
 
156
 
-
 
157
              <Widget.Body>
-
 
158
                {renderContent({
-
 
159
                  owner_description,
-
 
160
                  owner_file_image_preview,
-
 
161
                  owner_file_video,
-
 
162
                  owner_file_image,
-
 
163
                  shared_name,
-
 
164
                  shared_image,
-
 
165
                  shared_time_elapse,
-
 
166
                  feed_content_type,
-
 
167
                  feed_vote_url
-
 
168
                })}
-
 
169
              </Widget.Body>
-
 
170
            </Widget>
-
 
171
          </>
-
 
172
        )
-
 
173
      }
-
 
174
 
-
 
175
      default: {
-
 
176
        return parse(owner_description ?? '')
-
 
177
      }
-
 
178
    }
-
 
179
  }
-
 
180
 
-
 
181
  return <>{renderContent(feed)}</>
-
 
182
}
40
}