diff --git a/api/server/routes/handlers.js b/api/server/routes/handlers.js index 59e86f868e..fafb9c6c48 100644 --- a/api/server/routes/handlers.js +++ b/api/server/routes/handlers.js @@ -30,7 +30,7 @@ const createOnProgress = () => { tokens = citeText(tokens, true); } - sendMessage(res, { text: tokens + '█', message: true, initial: i === 0, ...rest }); + sendMessage(res, { text: tokens + '', message: true, initial: i === 0, ...rest }); i++; }; diff --git a/.eslintrc.js b/client/.eslintrc.js similarity index 93% rename from .eslintrc.js rename to client/.eslintrc.js index 102b825a04..2f2422bac8 100644 --- a/.eslintrc.js +++ b/client/.eslintrc.js @@ -25,5 +25,6 @@ module.exports = { ], "rules": { 'react/prop-types': ['off'], + 'react/display-name': ['off'], } } diff --git a/client/src/components/Messages/CodeBlock.jsx b/client/src/components/Messages/Content/CodeBlock.jsx similarity index 93% rename from client/src/components/Messages/CodeBlock.jsx rename to client/src/components/Messages/Content/CodeBlock.jsx index 1e3ad344c5..23117fe10e 100644 --- a/client/src/components/Messages/CodeBlock.jsx +++ b/client/src/components/Messages/Content/CodeBlock.jsx @@ -1,6 +1,6 @@ import React, { useRef, useState } from 'react'; -import Clipboard from '../svg/Clipboard'; -import CheckMark from '../svg/CheckMark'; +import Clipboard from '~/components/svg/Clipboard'; +import CheckMark from '~/components/svg/CheckMark'; const CodeBlock = ({ lang, codeChildren }) => { const codeRef = useRef(null); diff --git a/client/src/components/Messages/Content.jsx b/client/src/components/Messages/Content/Content.jsx similarity index 100% rename from client/src/components/Messages/Content.jsx rename to client/src/components/Messages/Content/Content.jsx diff --git a/client/src/components/Messages/Embed.jsx b/client/src/components/Messages/Content/Embed.jsx similarity index 91% rename from client/src/components/Messages/Embed.jsx rename to client/src/components/Messages/Content/Embed.jsx index 845ad8c576..02ea36069f 100644 --- a/client/src/components/Messages/Embed.jsx +++ b/client/src/components/Messages/Content/Embed.jsx @@ -1,6 +1,6 @@ import React, { useState } from 'react'; -import Clipboard from '../svg/Clipboard'; -import CheckMark from '../svg/CheckMark'; +import Clipboard from '~/components/svg/Clipboard'; +import CheckMark from '~/components/svg/CheckMark'; const Embed = React.memo(({ children, lang = '', code, matched }) => { const [buttonText, setButtonText] = useState('Copy code'); diff --git a/client/src/components/Messages/Highlight.jsx b/client/src/components/Messages/Content/Highlight.jsx similarity index 100% rename from client/src/components/Messages/Highlight.jsx rename to client/src/components/Messages/Content/Highlight.jsx diff --git a/client/src/components/Messages/TabLink.jsx b/client/src/components/Messages/Content/TabLink.jsx similarity index 100% rename from client/src/components/Messages/TabLink.jsx rename to client/src/components/Messages/Content/TabLink.jsx diff --git a/client/src/components/Messages/TextWrapper.jsx b/client/src/components/Messages/Content/TextWrapper.jsx similarity index 100% rename from client/src/components/Messages/TextWrapper.jsx rename to client/src/components/Messages/Content/TextWrapper.jsx diff --git a/client/src/components/Messages/Wrapper.jsx b/client/src/components/Messages/Content/Wrapper.jsx similarity index 100% rename from client/src/components/Messages/Wrapper.jsx rename to client/src/components/Messages/Content/Wrapper.jsx diff --git a/client/src/components/Messages/ContentRewrite.jsx b/client/src/components/Messages/ContentRewrite.jsx deleted file mode 100644 index 36bd510337..0000000000 --- a/client/src/components/Messages/ContentRewrite.jsx +++ /dev/null @@ -1,153 +0,0 @@ -import React, { useState, useEffect } from 'react'; -import ReactMarkdown from 'react-markdown'; -import rehypeKatex from 'rehype-katex'; -import rehypeHighlight from 'rehype-highlight'; -import remarkMath from 'remark-math'; -import remarkGfm from 'remark-gfm'; -import TabLink from './TabLink'; -import Markdown from 'markdown-to-jsx'; -import Highlight from './Highlight'; -import CodeBlock from './CodeBlock'; -import Embed from './Embed'; -// import { langSubset } from '~/utils/languages'; - -const mdOptions = { - wrapper: React.Fragment, - forceWrapper: true, - overrides: { - a: { - component: TabLink - // props: { - // className: 'foo' - // } - }, - pre: code, - // code: { - // component: code - // }, - // pre: { - // component: PreBlock - // }, - p: { - component: p - } - } -}; - -const Content = ({ content }) => { - return ( - <> - {/* - {content} - */} - - {content} - - - ); -}; - -const PreBlock = ({children, ...rest}) => { - console.log('pre', children); - if ('type' in children && children ['type'] === 'code') { - return code(children['props']); - } - return
{children}
; -}; - -const code = (props) => { - const { inline, className, children, ...rest } = props; - - if ('type' in children && children ['type'] === 'code') { - // return code(children['props']); - const match = /language-(\w+)/.exec(className || ''); - const lang = match && match[1]; - console.log('code', lang, children); - - if (inline) { - return {children}; - } else { - return ( - - - - ); - } - } - return
{children}
; - - const match = /language-(\w+)/.exec(className || ''); - const lang = match && match[1]; - console.log('code', lang, children); - - if (inline) { - return {children}; - } else { - return ( - - - - ); - } -}; - -const p = (props) => { - const regex = /^█$/; - const match = regex.exec(props?.children || ''); - // if (match) { - // return ( - //

- // {props?.children.slice(0, -1)} - // {'█'} - //

- // ); - - if (match) { - return ( -

- {'█'} -

- ); - } - - return

{props?.children}

; -}; - -export default Content; diff --git a/client/src/components/Messages/Message.jsx b/client/src/components/Messages/Message.jsx index 691f596553..844f62d2aa 100644 --- a/client/src/components/Messages/Message.jsx +++ b/client/src/components/Messages/Message.jsx @@ -1,5 +1,5 @@ import React, { useState, useEffect, useRef, useCallback } from 'react'; -import Wrapper from './Wrapper'; +import Wrapper from './Content/Wrapper'; import MultiMessage from './MultiMessage'; import { useSelector, useDispatch } from 'react-redux'; import HoverButtons from './HoverButtons';