balibabu commited on
Commit
30090ae
·
1 Parent(s): 63cb972

Fix: Answers with links to information not parsing #3839 (#3968)

Browse files

### What problem does this PR solve?

Fix: Answers with links to information not parsing #3839

### Type of change

- [x] Bug Fix (non-breaking change which fixes an issue)

web/reducer.js DELETED
@@ -1,26 +0,0 @@
1
- import React, { useReducer } from 'react';
2
- const CHANGE_LOCALE = 'CHANGE_LOCALE';
3
-
4
- const mainContext = React.createContext();
5
-
6
- const reducer = (state, action) => {
7
- switch (action.type) {
8
- case CHANGE_LOCALE:
9
- return { ...state, locale: action.locale || 'zh' };
10
- default:
11
- return state;
12
- }
13
- };
14
-
15
- const ContextProvider = (props) => {
16
- const [state, dispatch] = useReducer(reducer, {
17
- locale: 'zh',
18
- });
19
- return (
20
- <mainContext.Provider value={{ state, dispatch }}>
21
- {props.children}
22
- </mainContext.Provider>
23
- );
24
- };
25
-
26
- export { ContextProvider, mainContext, reducer };
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
web/src/pages/chat/markdown-content/index.tsx CHANGED
@@ -20,9 +20,10 @@ import { useTranslation } from 'react-i18next';
20
 
21
  import 'katex/dist/katex.min.css'; // `rehype-katex` does not import the CSS for you
22
 
 
23
  import styles from './index.less';
24
 
25
- const reg = /(#{2}\d+\${2})/g;
26
  const curReg = /(~{2}\d+\${2})/g;
27
 
28
  const getChunkIndex = (match: string) => Number(match.slice(2, -2));
@@ -156,7 +157,9 @@ const MarkdownContent = ({
156
 
157
  const renderReference = useCallback(
158
  (text: string) => {
159
- let replacedText = reactStringReplace(text, reg, (match, i) => {
 
 
160
  const chunkIndex = getChunkIndex(match);
161
  return (
162
  <Popover content={getPopoverContent(chunkIndex)} key={i}>
 
20
 
21
  import 'katex/dist/katex.min.css'; // `rehype-katex` does not import the CSS for you
22
 
23
+ import { replaceTextByOldReg } from '../utils';
24
  import styles from './index.less';
25
 
26
+ const reg = /(#{2}\d+@{2})/g;
27
  const curReg = /(~{2}\d+\${2})/g;
28
 
29
  const getChunkIndex = (match: string) => Number(match.slice(2, -2));
 
157
 
158
  const renderReference = useCallback(
159
  (text: string) => {
160
+ const nextText = replaceTextByOldReg(text);
161
+
162
+ let replacedText = reactStringReplace(nextText, reg, (match, i) => {
163
  const chunkIndex = getChunkIndex(match);
164
  return (
165
  <Popover content={getPopoverContent(chunkIndex)} key={i}>
web/src/pages/chat/utils.ts CHANGED
@@ -41,3 +41,11 @@ export const buildMessageItemReference = (
41
 
42
  return reference ?? { doc_aggs: [], chunks: [], total: 0 };
43
  };
 
 
 
 
 
 
 
 
 
41
 
42
  return reference ?? { doc_aggs: [], chunks: [], total: 0 };
43
  };
44
+
45
+ const oldReg = /(#{2}\d+\${2})/g;
46
+
47
+ export const replaceTextByOldReg = (text: string) => {
48
+ return text.replace(oldReg, function (substring) {
49
+ return `${substring.slice(0, -2)}@@`;
50
+ });
51
+ };