import React, { useState, useEffect } from 'react';
// Redux part
import { useSelector, useDispatch } from 'react-redux';
import { StoreState } from 'store/rootReducer';
// Import actions here
import classNames from 'classnames/bind';
import TextItem from 'components/items/TextItem';
import parse from 'html-react-parser';
import { withRouter } from 'react-router-dom';
import article from 'store/article';
import config from 'config/general';
import styleIdentifiers from './CustomArticle.module.scss';
const styles = classNames.bind(styleIdentifiers);
export interface CustomArticleProps {}
const CustomArticle = (props: CustomArticleProps) => {
const {
nodeItem,
wrapperComponent,
className,
wrapperClassName,
containerClassName,
paramKey,
customNode,
match: { params },
...rest
} = props;
// mapStateToProps
const lg = useSelector((state: StoreState) => state.content.lg);
const detail = useSelector((state: StoreState) => state.article.detail?.data);
// Allow to dispatch actions
const dispatch = useDispatch();
const loadArticle = data => dispatch(article.actions.getOneArticle.request.action(data));
function removeStyle(toRemove) {
for (let index = 0; index < toRemove.length; index++) {
const element = toRemove[index];
if (element && element.attribs && element.attribs.style) {
element.attribs.style = null;
}
}
return toRemove;
}
function renderContent(content): JSX {
const newContent = content;
const options = {
replace: (domNode): JSX => {
if (nodeItem && customNode && customNode.includes(domNode.name)) {
const NodeItem = nodeItem;
return