Proyectos de Subversion LeadersLinked - Antes de SPA

Rev

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

Rev 5115 Rev 5414
Línea 1... Línea 1...
1
/* eslint-disable camelcase */
1
/* eslint-disable camelcase */
2
/* eslint-disable react/prop-types */
2
/* eslint-disable react/prop-types */
3
import React, { useEffect, useState, useRef } from 'react'
3
import React, { useEffect, useState, useRef } from 'react'
4
import parse from 'html-react-parser'
4
import parse from 'html-react-parser'
5
import { useDispatch } from 'react-redux'
5
import { useDispatch, useSelector } from 'react-redux'
6
import { axios } from '../../../utils'
6
import { axios } from '../../../utils'
7
import { EmailIcon, EmailShareButton, FacebookIcon, FacebookShareButton, RedditIcon, RedditShareButton, TelegramIcon, TelegramShareButton, TwitterIcon, TwitterShareButton, WhatsappIcon, WhatsappShareButton } from 'react-share'
7
import { EmailIcon, EmailShareButton, FacebookIcon, FacebookShareButton, RedditIcon, RedditShareButton, TelegramIcon, TelegramShareButton, TwitterIcon, TwitterShareButton, WhatsappIcon, WhatsappShareButton } from 'react-share'
Línea 8... Línea 8...
8
 
8
 
9
// Redux types
9
// Redux types
Línea 237... Línea 237...
237
  ownerFileDocument,
237
  ownerFileDocument,
238
  ownerDescription,
238
  ownerDescription,
239
  isShare,
239
  isShare,
240
  sharedItem
240
  sharedItem
241
}) => {
241
}) => {
-
 
242
  const labels = useSelector(state => state.labels)
242
  return (
243
  return (
243
    <div className="job_descp">
244
    <div className="job_descp">
244
      {showDescription &&
245
      {showDescription &&
245
        <Feed.Description ownerDescription={ownerDescription} />
246
        <Feed.Description ownerDescription={ownerDescription} />
246
      }
247
      }
Línea 255... Línea 256...
255
          preload="none"
256
          preload="none"
256
        />
257
        />
257
      }
258
      }
258
      {ownerFileDocument &&
259
      {ownerFileDocument &&
259
        <a href={ownerFileDocument} target="_blank" rel="noreferrer">
260
        <a href={ownerFileDocument} target="_blank" rel="noreferrer">
260
          {LABELS.DOWNLOAD}
261
          {labels.DOWNLOAD}
261
        </a>
262
        </a>
262
      }
263
      }
263
      {isShare &&
264
      {isShare &&
264
        <Feed.SharedContent
265
        <Feed.SharedContent
265
          name={sharedItem.name}
266
          name={sharedItem.name}
Línea 276... Línea 277...
276
  )
277
  )
277
}
278
}
Línea 278... Línea 279...
278
 
279
 
279
const Description = ({ ownerDescription }) => {
280
const Description = ({ ownerDescription }) => {
-
 
281
  const [isReadMoreActive, setIsReadMoreActive] = useState(false)
Línea 280... Línea 282...
280
  const [isReadMoreActive, setIsReadMoreActive] = useState(false)
282
  const labels = useSelector(state => state.labels)
Línea 281... Línea 283...
281
 
283
 
282
  const readMoreHandler = () => setIsReadMoreActive(!isReadMoreActive)
284
  const readMoreHandler = () => setIsReadMoreActive(!isReadMoreActive)
Línea 288... Línea 290...
288
      const shortenedText = parse(`${shortenedString}... `)
290
      const shortenedText = parse(`${shortenedString}... `)
289
      return (
291
      return (
290
        <p>
292
        <p>
291
          {isReadMoreActive ? fullText : shortenedText}
293
          {isReadMoreActive ? fullText : shortenedText}
292
          <span className='cursor-pointer' onClick={readMoreHandler}>
294
          <span className='cursor-pointer' onClick={readMoreHandler}>
293
            {isReadMoreActive ? LABELS.READ_LESS : LABELS.READ_MORE}
295
            {isReadMoreActive ? labels.READ_LESS : labels.READ_MORE}
294
          </span>
296
          </span>
295
        </p>
297
        </p>
296
      )
298
      )
297
    }
299
    }
298
    return <p>{fullText}</p>
300
    return <p>{fullText}</p>
Línea 314... Línea 316...
314
  fileImagePreview,
316
  fileImagePreview,
315
  fileImage,
317
  fileImage,
316
  fileDocument
318
  fileDocument
317
}) => {
319
}) => {
318
  const [isReadMoreActive, setIsReadMoreActive] = useState(false)
320
  const [isReadMoreActive, setIsReadMoreActive] = useState(false)
-
 
321
  const labels = useSelector(state => state.labels)
Línea 319... Línea 322...
319
 
322
 
Línea 320... Línea 323...
320
  const readMoreHandler = () => setIsReadMoreActive(!isReadMoreActive)
323
  const readMoreHandler = () => setIsReadMoreActive(!isReadMoreActive)
321
 
324
 
Línea 326... Línea 329...
326
      const shortenedText = parse(`${shortenedString}... `)
329
      const shortenedText = parse(`${shortenedString}... `)
327
      return (
330
      return (
328
        <p>
331
        <p>
329
          {isReadMoreActive ? fullText : shortenedText}
332
          {isReadMoreActive ? fullText : shortenedText}
330
          <span className='cursor-pointer' onClick={readMoreHandler}>
333
          <span className='cursor-pointer' onClick={readMoreHandler}>
331
            {isReadMoreActive ? LABELS.READ_LESS : LABELS.READ_MORE}
334
            {isReadMoreActive ? labels.READ_LESS : labels.READ_MORE}
332
          </span>
335
          </span>
333
        </p>
336
        </p>
334
      )
337
      )
335
    }
338
    }
336
    return <p>{fullText}</p>
339
    return <p>{fullText}</p>
Línea 369... Línea 372...
369
              preload="none"
372
              preload="none"
370
            />
373
            />
371
          }
374
          }
372
          {fileDocument &&
375
          {fileDocument &&
373
            <a href={fileDocument} target="_blank" rel="noreferrer">
376
            <a href={fileDocument} target="_blank" rel="noreferrer">
374
              {LABELS.DOWNLOAD}
377
              {labels.DOWNLOAD}
375
            </a>
378
            </a>
376
          }
379
          }
377
        </div>
380
        </div>
378
      </div>
381
      </div>
379
    </div>
382
    </div>