import React from 'react'; import stl from './contentRender.module.css'; import Highlight from 'react-highlight' const elType = { PARAGRAPH: 'paragraph', TEXT: 'text', QUOTE: 'blockquote', CODE_BLOCK: 'codeBlock', MENTION: 'mention', RULE: 'rule', HARD_BREAK: 'hardBreak', } const renderElement = (el, provider) => { if (provider === 'github') return el switch(el.type) { case elType.PARAGRAPH: return

; case elType.QUOTE: return
; case elType.CODE_BLOCK: return { codeRender(el.content)[0] }; // return case elType.MENTION: return { `@${el.attrs.text}` }; case elType.RULE: return
case elType.HARD_BREAK: return
case elType.RULE: return
case elType.TEXT: return el.text; } return ; } const codeRender = (content) => content.map(el => el.text); const ContentRender = props => { const { message, provider } = props; return ( { provider === 'github' ? message : message && message.content && message.content.map(el => ( { renderElement(el, provider) } )) } ); }; export default ContentRender;