Rev 2891 | Rev 2893 | Ir a la última revisión | Autoría | Comparar con el anterior | Ultima modificación | Ver Log |
import React, { useState, useCallback } from 'react'import { Typography } from '@mui/material'import { parse } from '@utils'export default function FeedDescription({ text = '' }) {const [showMore, setShowMore] = useState(false)const maxLength = 300const parsedText = useCallback(parse(text), [text])const truncatedText = parsedText.slice(0, maxLength)const isTruncated = parsedText.length > maxLengthconst toggleShowMore = useCallback(() => setShowMore((prevState) => !prevState),[])return (<Typography onClick={toggleShowMore}>{showMore ? parsedText : truncatedText}{isTruncated && (<TypographyonClick={toggleShowMore}variant='body2'color='primary'sx={{ cursor: 'pointer' }}aria-expanded={showMore}>{showMore ? ' Mostrar menos' : '... Mostrar más'}</Typography>)}</Typography>)}