@memori.ai/memori-react 7.2.0 → 7.3.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/CHANGELOG.md +17 -0
- package/README.md +1 -0
- package/dist/components/Chat/Chat.d.ts +1 -0
- package/dist/components/Chat/Chat.js +2 -2
- package/dist/components/Chat/Chat.js.map +1 -1
- package/dist/components/ChatBubble/ChatBubble.d.ts +1 -0
- package/dist/components/ChatBubble/ChatBubble.js +12 -7
- package/dist/components/ChatBubble/ChatBubble.js.map +1 -1
- package/dist/components/MemoriWidget/MemoriWidget.d.ts +2 -1
- package/dist/components/MemoriWidget/MemoriWidget.js +75 -42
- package/dist/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/dist/helpers/translations.js +5 -1
- package/dist/helpers/translations.js.map +1 -1
- package/dist/index.d.ts +1 -0
- package/dist/index.js +3 -2
- package/dist/index.js.map +1 -1
- package/esm/components/Chat/Chat.d.ts +1 -0
- package/esm/components/Chat/Chat.js +2 -2
- package/esm/components/Chat/Chat.js.map +1 -1
- package/esm/components/ChatBubble/ChatBubble.d.ts +1 -0
- package/esm/components/ChatBubble/ChatBubble.js +12 -7
- package/esm/components/ChatBubble/ChatBubble.js.map +1 -1
- package/esm/components/MemoriWidget/MemoriWidget.d.ts +2 -1
- package/esm/components/MemoriWidget/MemoriWidget.js +75 -42
- package/esm/components/MemoriWidget/MemoriWidget.js.map +1 -1
- package/esm/helpers/translations.js +5 -1
- package/esm/helpers/translations.js.map +1 -1
- package/esm/index.d.ts +1 -0
- package/esm/index.js +3 -2
- package/esm/index.js.map +1 -1
- package/package.json +2 -2
- package/src/components/Chat/Chat.tsx +3 -0
- package/src/components/ChatBubble/ChatBubble.stories.tsx +14 -0
- package/src/components/ChatBubble/ChatBubble.test.tsx +19 -0
- package/src/components/ChatBubble/ChatBubble.tsx +31 -7
- package/src/components/ChatBubble/__snapshots__/ChatBubble.test.tsx.snap +132 -0
- package/src/components/MemoriWidget/MemoriWidget.tsx +83 -49
- package/src/helpers/translations.ts +10 -2
- package/src/index.stories.tsx +3 -17
- package/src/index.tsx +4 -0
|
@@ -5,6 +5,7 @@ import { Transition } from '@headlessui/react';
|
|
|
5
5
|
import { getResourceUrl } from '../../helpers/media';
|
|
6
6
|
import UserIcon from '../icons/User';
|
|
7
7
|
import AI from '../icons/AI';
|
|
8
|
+
import Translation from '../icons/Translation';
|
|
8
9
|
import Tooltip from '../ui/Tooltip';
|
|
9
10
|
import FeedbackButtons from '../FeedbackButtons/FeedbackButtons';
|
|
10
11
|
import { useTranslation } from 'react-i18next';
|
|
@@ -46,13 +47,15 @@ marked.use(markedKatex({
|
|
|
46
47
|
output: 'htmlAndMathml',
|
|
47
48
|
}));
|
|
48
49
|
marked.use(markedExtendedTables());
|
|
49
|
-
const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, sessionID, showFeedback, showWhyThisAnswer = true, showCopyButton = true, simulateUserPrompt, showAIicon = true, isFirst = false, user, userAvatar, experts, }) => {
|
|
50
|
+
const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, sessionID, showFeedback, showWhyThisAnswer = true, showCopyButton = true, showTranslationOriginal = false, simulateUserPrompt, showAIicon = true, isFirst = false, user, userAvatar, experts, }) => {
|
|
50
51
|
var _a, _b, _c, _d, _e, _f;
|
|
51
|
-
const { t } = useTranslation();
|
|
52
|
+
const { t, i18n } = useTranslation();
|
|
53
|
+
const lang = i18n.language || 'en';
|
|
52
54
|
const [showingWhyThisAnswer, setShowingWhyThisAnswer] = useState(false);
|
|
55
|
+
const text = message.translatedText || message.text;
|
|
53
56
|
const renderedText = message.fromUser
|
|
54
|
-
?
|
|
55
|
-
: DOMPurify.sanitize(marked.parse(
|
|
57
|
+
? text
|
|
58
|
+
: DOMPurify.sanitize(marked.parse(text
|
|
56
59
|
.trim()
|
|
57
60
|
.replaceAll(/\[([^\]]+)\]\(([^\)]+)\)/g, '<a href="$2" target="_blank" rel="noopener noreferrer">$1</a>')
|
|
58
61
|
.replaceAll(/```markdown([^```]+)```/g, '$1')
|
|
@@ -68,8 +71,8 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, sessionID, showF
|
|
|
68
71
|
.replace(/<p><\/p>/g, '<br>')
|
|
69
72
|
.replace(/<p><br><\/p>/g, '<br>');
|
|
70
73
|
const plainText = message.fromUser
|
|
71
|
-
?
|
|
72
|
-
: escapeHTML(stripMarkdown(stripEmojis(
|
|
74
|
+
? text
|
|
75
|
+
: escapeHTML(stripMarkdown(stripEmojis(text)));
|
|
73
76
|
useLayoutEffect(() => {
|
|
74
77
|
if (typeof window !== 'undefined' && !message.fromUser) {
|
|
75
78
|
if ('MathJax' in window && window.MathJax.typesetPromise)
|
|
@@ -130,7 +133,9 @@ const ChatBubble = ({ message, memori, tenant, baseUrl, apiUrl, sessionID, showF
|
|
|
130
133
|
plainText !== message.text && (_jsx(Button, { ghost: true, shape: "circle", title: t('copyRawCode') || 'Copy raw code', className: "memori-chat--bubble-action-icon", icon: _jsx(Code, { "aria-label": t('copyRawCode') || 'Copy raw code' }), onClick: () => navigator.clipboard.writeText(message.text) })), showFeedback && !!simulateUserPrompt && (_jsx(FeedbackButtons, { memori: memori, className: "memori-chat--bubble-feedback", dropdown: true, onNegativeClick: msg => {
|
|
131
134
|
if (msg)
|
|
132
135
|
simulateUserPrompt(msg);
|
|
133
|
-
} })), message.generatedByAI && showAIicon && (_jsx(Tooltip, { align: "left", content: t('generatedByAI'), className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: _jsx("span", { children: _jsx(AI, { title: t('generatedByAI') || undefined }) }) })),
|
|
136
|
+
} })), message.generatedByAI && showAIicon && (_jsx(Tooltip, { align: "left", content: t('generatedByAI'), className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: _jsx("span", { children: _jsx(AI, { title: t('generatedByAI') || undefined }) }) })), showTranslationOriginal &&
|
|
137
|
+
message.translatedText &&
|
|
138
|
+
message.translatedText !== message.text && (_jsx(Tooltip, { align: "left", content: `${lang === 'it' ? 'Testo originale' : 'Original text'}: ${message.text}`, className: "memori-chat--bubble-action-icon memori-chat--bubble-action-icon--ai", children: _jsx("span", { children: _jsx(Translation, { "aria-label": lang === 'it' ? 'Testo originale' : 'Original text' }) }) })), !message.fromUser &&
|
|
134
139
|
message.questionAnswered &&
|
|
135
140
|
apiUrl &&
|
|
136
141
|
showWhyThisAnswer && (_jsx(Button, { ghost: true, shape: "circle", title: t('whyThisAnswer') || undefined, className: "memori-chat--bubble-action-icon", onClick: () => setShowingWhyThisAnswer(true), disabled: showingWhyThisAnswer, icon: _jsx(QuestionHelp, { title: t('whyThisAnswer') || undefined }) }))] }))] }), message.fromUser && (_jsx(_Fragment, { children: (!!userAvatar && typeof userAvatar === 'string') ||
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../src/components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":";AAAA,OAAc,EAAE,eAAe,EAAU,QAAQ,EAAE,MAAM,OAAO,CAAC;AACjE,OAAO,EAAE,MAAM,YAAY,CAAC;AAS5B,OAAO,EAAE,UAAU,EAAE,MAAM,mBAAmB,CAAC;AAC/C,OAAO,EAAE,cAAc,EAAE,MAAM,qBAAqB,CAAC;AACrD,OAAO,QAAQ,MAAM,eAAe,CAAC;AACrC,OAAO,EAAE,MAAM,aAAa,CAAC;AAC7B,OAAO,OAAO,MAAM,eAAe,CAAC;AACpC,OAAO,eAAe,MAAM,oCAAoC,CAAC;AACjE,OAAO,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/C,OAAO,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAChC,OAAO,SAAS,MAAM,WAAW,CAAC;AAClC,OAAO,EAAE,QAAQ,EAAE,MAAM,qBAAqB,CAAC;AAC/C,OAAO,MAAM,MAAM,cAAc,CAAC;AAClC,OAAO,YAAY,MAAM,uBAAuB,CAAC;AACjD,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,IAAI,MAAM,eAAe,CAAC;AACjC,OAAO,aAAa,MAAM,gCAAgC,CAAC;AAC3D,OAAO,EAAE,WAAW,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,qBAAqB,CAAC;AAE7E,OAAO,eAAe,MAAM,mBAAmB,CAAC;AAChD,OAAO,WAAW,MAAM,wBAAwB,CAAC;AACjD,OAAO,oBAAoB,MAAM,oCAAoC,CAAC;
|
|
1
|
+
{"version":3,"file":"ChatBubble.js","sourceRoot":"","sources":["../../../src/components/ChatBubble/ChatBubble.tsx"],"names":[],"mappings":"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"}
|
|
@@ -75,6 +75,7 @@ export interface Props {
|
|
|
75
75
|
customLayout?: React.FC<LayoutProps>;
|
|
76
76
|
showShare?: boolean;
|
|
77
77
|
showCopyButton?: boolean;
|
|
78
|
+
showTranslationOriginal?: boolean;
|
|
78
79
|
showInstruct?: boolean;
|
|
79
80
|
showInputs?: boolean;
|
|
80
81
|
showDates?: boolean;
|
|
@@ -114,5 +115,5 @@ export interface Props {
|
|
|
114
115
|
additionalSettings?: JSX.Element | null;
|
|
115
116
|
userAvatar?: string | JSX.Element;
|
|
116
117
|
}
|
|
117
|
-
declare const MemoriWidget: ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenantID, memoriLang, multilingual, integration, layout, customLayout, showInstruct, showShare, preview, embed, showCopyButton, showInputs, showDates, showContextPerLine, showSettings, showTypingText, showClear, showLogin, showOnlyLastMessages, height, secret, baseUrl, apiUrl, initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, defaultSpeakerActive, disableTextEnteredEvents, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }: Props) => JSX.Element;
|
|
118
|
+
declare const MemoriWidget: ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenantID, memoriLang, multilingual, integration, layout, customLayout, showInstruct, showShare, preview, embed, showCopyButton, showTranslationOriginal, showInputs, showDates, showContextPerLine, showSettings, showTypingText, showClear, showLogin, showOnlyLastMessages, height, secret, baseUrl, apiUrl, initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, defaultSpeakerActive, disableTextEnteredEvents, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }: Props) => JSX.Element;
|
|
118
119
|
export default MemoriWidget;
|
|
@@ -150,7 +150,7 @@ let memoriPassword;
|
|
|
150
150
|
let speakerMuted = false;
|
|
151
151
|
let memoriSpeaking = false;
|
|
152
152
|
let userToken;
|
|
153
|
-
const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenantID, memoriLang, multilingual, integration, layout = 'DEFAULT', customLayout, showInstruct = false, showShare, preview = false, embed = false, showCopyButton = true, showInputs = true, showDates = false, showContextPerLine = false, showSettings = true, showTypingText = false, showClear = false, showLogin = false, showOnlyLastMessages, height = '100vh', secret, baseUrl = 'https://aisuru.com', apiUrl = 'https://backend.memori.ai', initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, defaultSpeakerActive = true, disableTextEnteredEvents = false, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }) => {
|
|
153
|
+
const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenantID, memoriLang, multilingual, integration, layout = 'DEFAULT', customLayout, showInstruct = false, showShare, preview = false, embed = false, showCopyButton = true, showTranslationOriginal = false, showInputs = true, showDates = false, showContextPerLine = false, showSettings = true, showTypingText = false, showClear = false, showLogin = false, showOnlyLastMessages, height = '100vh', secret, baseUrl = 'https://aisuru.com', apiUrl = 'https://backend.memori.ai', initialContextVars, initialQuestion, ogImage, sessionID: initialSessionID, tenant, personification, authToken, AZURE_COGNITIVE_SERVICES_TTS_KEY, defaultSpeakerActive = true, disableTextEnteredEvents = false, onStateChange, additionalInfo, additionalSettings, customMediaRenderer, userAvatar, }) => {
|
|
154
154
|
var _a, _b, _c, _d, _f, _g, _h, _j, _k, _l, _m, _o, _p, _q, _r, _t, _u, _v, _w, _x, _y, _z, _0, _1;
|
|
155
155
|
const { t, i18n } = useTranslation();
|
|
156
156
|
const [isClient, setIsClient] = useState(false);
|
|
@@ -324,7 +324,8 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
324
324
|
let msg = text;
|
|
325
325
|
let gotError = false;
|
|
326
326
|
try {
|
|
327
|
-
if (
|
|
327
|
+
if (!hidden &&
|
|
328
|
+
translate &&
|
|
328
329
|
!instruct &&
|
|
329
330
|
isMultilanguageEnabled &&
|
|
330
331
|
userLang.toUpperCase() !== language.toUpperCase()) {
|
|
@@ -413,8 +414,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
413
414
|
!instruct &&
|
|
414
415
|
isMultilanguageEnabled) {
|
|
415
416
|
translateDialogState(currentState, userLang, msg).then(ts => {
|
|
416
|
-
|
|
417
|
-
|
|
417
|
+
let text = ts.translatedEmission || ts.emission;
|
|
418
|
+
if (text) {
|
|
419
|
+
speak(text);
|
|
418
420
|
}
|
|
419
421
|
});
|
|
420
422
|
}
|
|
@@ -500,37 +502,59 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
500
502
|
}
|
|
501
503
|
}
|
|
502
504
|
else {
|
|
503
|
-
|
|
504
|
-
|
|
505
|
-
|
|
506
|
-
|
|
507
|
-
|
|
508
|
-
|
|
509
|
-
|
|
510
|
-
|
|
505
|
+
try {
|
|
506
|
+
const t = await getTranslation(emission, userLang, language, baseUrl);
|
|
507
|
+
if (state.hints && state.hints.length > 0) {
|
|
508
|
+
const translatedHints = await Promise.all(((_b = state.hints) !== null && _b !== void 0 ? _b : []).map(async (hint) => {
|
|
509
|
+
var _a;
|
|
510
|
+
const tHint = await getTranslation(hint, userLang, language, baseUrl);
|
|
511
|
+
return {
|
|
512
|
+
text: (_a = tHint === null || tHint === void 0 ? void 0 : tHint.text) !== null && _a !== void 0 ? _a : hint,
|
|
513
|
+
originalText: hint,
|
|
514
|
+
};
|
|
515
|
+
}));
|
|
516
|
+
translatedState = {
|
|
517
|
+
...state,
|
|
518
|
+
emission: t.text,
|
|
519
|
+
translatedHints,
|
|
520
|
+
};
|
|
521
|
+
}
|
|
522
|
+
else {
|
|
523
|
+
translatedState = {
|
|
524
|
+
...state,
|
|
525
|
+
emission: emission,
|
|
526
|
+
translatedEmission: t.text,
|
|
527
|
+
hints: (_c = state.hints) !== null && _c !== void 0 ? _c : (state.state === 'G1' ? currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.hints : []),
|
|
528
|
+
};
|
|
529
|
+
}
|
|
530
|
+
if (t.text.length > 0)
|
|
531
|
+
translatedMsg = {
|
|
532
|
+
text: emission,
|
|
533
|
+
translatedText: t.text,
|
|
534
|
+
emitter: state.emitter,
|
|
535
|
+
media: state.media,
|
|
536
|
+
fromUser: false,
|
|
537
|
+
questionAnswered: msg,
|
|
538
|
+
generatedByAI: !!state.completion,
|
|
539
|
+
contextVars: state.contextVars,
|
|
540
|
+
date: state.currentDate,
|
|
541
|
+
placeName: state.currentPlaceName,
|
|
542
|
+
placeLatitude: state.currentLatitude,
|
|
543
|
+
placeLongitude: state.currentLongitude,
|
|
544
|
+
placeUncertaintyKm: state.currentUncertaintyKm,
|
|
545
|
+
tag: state.currentTag,
|
|
546
|
+
memoryTags: state.memoryTags,
|
|
511
547
|
};
|
|
512
|
-
}));
|
|
513
|
-
translatedState = {
|
|
514
|
-
...state,
|
|
515
|
-
emission: t.text,
|
|
516
|
-
translatedHints,
|
|
517
|
-
};
|
|
518
|
-
}
|
|
519
|
-
else {
|
|
520
|
-
translatedState = {
|
|
521
|
-
...state,
|
|
522
|
-
emission: t.text,
|
|
523
|
-
hints: (_c = state.hints) !== null && _c !== void 0 ? _c : (state.state === 'G1' ? currentDialogState === null || currentDialogState === void 0 ? void 0 : currentDialogState.hints : []),
|
|
524
|
-
};
|
|
525
548
|
}
|
|
526
|
-
|
|
549
|
+
catch (error) {
|
|
550
|
+
console.error(error);
|
|
551
|
+
translatedState = { ...state, emission };
|
|
527
552
|
translatedMsg = {
|
|
528
|
-
text:
|
|
553
|
+
text: emission,
|
|
529
554
|
emitter: state.emitter,
|
|
530
555
|
media: state.media,
|
|
531
556
|
fromUser: false,
|
|
532
557
|
questionAnswered: msg,
|
|
533
|
-
generatedByAI: !!state.completion,
|
|
534
558
|
contextVars: state.contextVars,
|
|
535
559
|
date: state.currentDate,
|
|
536
560
|
placeName: state.currentPlaceName,
|
|
@@ -540,6 +564,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
540
564
|
tag: state.currentTag,
|
|
541
565
|
memoryTags: state.memoryTags,
|
|
542
566
|
};
|
|
567
|
+
}
|
|
543
568
|
}
|
|
544
569
|
setCurrentDialogState(translatedState);
|
|
545
570
|
if (translatedMsg) {
|
|
@@ -947,8 +972,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
947
972
|
emission &&
|
|
948
973
|
emission.length > 0) {
|
|
949
974
|
translateDialogState({ ...currentState, emission: emission }, userLang).then(ts => {
|
|
950
|
-
|
|
951
|
-
|
|
975
|
+
let text = ts.translatedEmission || ts.emission;
|
|
976
|
+
if (text) {
|
|
977
|
+
speak(text);
|
|
952
978
|
}
|
|
953
979
|
});
|
|
954
980
|
}
|
|
@@ -1806,8 +1832,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1806
1832
|
setHistory([]);
|
|
1807
1833
|
translateDialogState(session.dialogState, userLang)
|
|
1808
1834
|
.then(ts => {
|
|
1809
|
-
|
|
1810
|
-
|
|
1835
|
+
let text = ts.translatedEmission || ts.emission;
|
|
1836
|
+
if (text) {
|
|
1837
|
+
speak(text);
|
|
1811
1838
|
}
|
|
1812
1839
|
})
|
|
1813
1840
|
.finally(() => {
|
|
@@ -1844,8 +1871,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1844
1871
|
if (session && session.resultCode === 0) {
|
|
1845
1872
|
translateDialogState(session.currentState, userLang)
|
|
1846
1873
|
.then(ts => {
|
|
1847
|
-
|
|
1848
|
-
|
|
1874
|
+
let text = ts.translatedEmission || ts.emission;
|
|
1875
|
+
if (text) {
|
|
1876
|
+
speak(text);
|
|
1849
1877
|
}
|
|
1850
1878
|
})
|
|
1851
1879
|
.finally(() => {
|
|
@@ -1879,8 +1907,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1879
1907
|
if (session && session.resultCode === 0) {
|
|
1880
1908
|
translateDialogState(session.currentState, userLang)
|
|
1881
1909
|
.then(ts => {
|
|
1882
|
-
|
|
1883
|
-
|
|
1910
|
+
let text = ts.translatedEmission || ts.emission;
|
|
1911
|
+
if (text) {
|
|
1912
|
+
speak(text);
|
|
1884
1913
|
}
|
|
1885
1914
|
})
|
|
1886
1915
|
.finally(() => {
|
|
@@ -1914,8 +1943,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1914
1943
|
if (session && session.resultCode === 0) {
|
|
1915
1944
|
translateDialogState(session.currentState, userLang)
|
|
1916
1945
|
.then(ts => {
|
|
1917
|
-
|
|
1918
|
-
|
|
1946
|
+
let text = ts.translatedEmission || ts.emission;
|
|
1947
|
+
if (text) {
|
|
1948
|
+
speak(text);
|
|
1919
1949
|
}
|
|
1920
1950
|
})
|
|
1921
1951
|
.finally(() => {
|
|
@@ -1942,8 +1972,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1942
1972
|
else {
|
|
1943
1973
|
translateDialogState(currentState, userLang)
|
|
1944
1974
|
.then(ts => {
|
|
1945
|
-
|
|
1946
|
-
|
|
1975
|
+
let text = ts.translatedEmission || ts.emission;
|
|
1976
|
+
if (text) {
|
|
1977
|
+
speak(text);
|
|
1947
1978
|
}
|
|
1948
1979
|
})
|
|
1949
1980
|
.finally(() => {
|
|
@@ -1959,8 +1990,9 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
1959
1990
|
setHistory([]);
|
|
1960
1991
|
translateDialogState(dialogState, userLang)
|
|
1961
1992
|
.then(ts => {
|
|
1962
|
-
|
|
1963
|
-
|
|
1993
|
+
let text = ts.translatedEmission || ts.emission;
|
|
1994
|
+
if (text) {
|
|
1995
|
+
speak(text);
|
|
1964
1996
|
}
|
|
1965
1997
|
})
|
|
1966
1998
|
.finally(() => {
|
|
@@ -2160,6 +2192,7 @@ const MemoriWidget = ({ memori, memoriConfigs, ownerUserID, ownerUserName, tenan
|
|
|
2160
2192
|
showAIicon,
|
|
2161
2193
|
showWhyThisAnswer,
|
|
2162
2194
|
showCopyButton,
|
|
2195
|
+
showTranslationOriginal,
|
|
2163
2196
|
client,
|
|
2164
2197
|
selectReceiverTag,
|
|
2165
2198
|
preview,
|