import { useEffect, useState } from 'react'; import parse from 'html-react-parser'; import DataService from '../services/data-service'; import MediaService from '../services/media-service' import CategoryBar from './shared/category-bar'; import { Container,Row, Col,Spinner, UncontrolledCollapse, Button, ButtonGroup, Card, CardBody } from 'reactstrap'; import { Link, useParams, useNavigate } from 'react-router-dom'; import { FontAwesomeIcon } from '@fortawesome/react-fontawesome'; import { faLeftLong, faCopy } from '@fortawesome/free-solid-svg-icons'; import { faFacebook, faReddit, faXTwitter } from '@fortawesome/free-brands-svg-icons'; function Blog(props) { let navigate = useNavigate(); const { blogID } = useParams(); const GlobalTheme = props.GlobalTheme; const ThemeConfig = props.ThemeConfig; const [blogData, setBlogData] = useState([]); const [blogContent, setBlogContent] = useState() const replace = (node) => { if (node.type === 'tag') { if (node.name === 'a') { const newClasses = `${ThemeConfig[GlobalTheme].linkBackground} ${ThemeConfig[GlobalTheme].linkTextColor}`; const existingClasses = node.attribs.class ? `${node.attribs.class} ` : ''; node.attribs.class = `${existingClasses}${newClasses}`; node.attribs.rel = 'noopener noreferrer'; node.attribs.target = '_blank'; } if (node.name === 'img') { const newClasses = `img-fluid mt-2 mb-2 rounded mx-auto d-block`; const existingClasses = node.attribs.class ? `${node.attribs.class} ` : ''; node.attribs.class = `${existingClasses}${newClasses}`; } } }; useEffect(() => { DataService.getData(`blog/${blogID}/blog-data`).then(response =>{ setBlogData(response.data) const parsedContent = parse(response.data.contentBody, { replace }); setBlogContent(parsedContent); document.title = response.data.name } ); }, []); useEffect(() => { if (blogData.contentBody){ const parsedContent = parse(blogData.contentBody, { replace }); setBlogContent(parsedContent); } }, [GlobalTheme]) if (GlobalTheme && ThemeConfig) { return ( { blogData.coverImage ? Banner:"" } = 765 ? '6':''}`}>

{blogData.name}

{blogData.description}


{blogContent}
); } else { return () } } export default Blog