Skip to content

Commit 14410e3

Browse files
authored
Merge pull request #176 from okisdev/feat/markdown
feat: allow user message with markdown
2 parents 915a417 + d75fcfa commit 14410e3

File tree

12 files changed

+34
-10
lines changed

12 files changed

+34
-10
lines changed

components/landing/main/chat-content.tsx

Lines changed: 3 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,8 @@ const MainContent = ({
3636

3737
const [isSpeaking, setIsSpeaking] = useState<boolean>(false);
3838

39+
const enableUserMarkdownRender = useAtomValue(store.enableUserMarkdownRenderAtom);
40+
3941
useEffect(() => {
4042
if (endOfMessageRef.current) {
4143
endOfMessageRef.current.scrollIntoView({ behavior: 'smooth' });
@@ -155,7 +157,7 @@ const MainContent = ({
155157
isUser ? 'bg-sky-500 text-white dark:bg-sky-600' : 'bg-neutral-200 text-black dark:bg-neutral-700 dark:text-white'
156158
}`}
157159
>
158-
{!isUser ? renderMarkdownMessage(message.content) : renderUserMessage(message.content)}
160+
{isUser && !enableUserMarkdownRender ? renderUserMessage(message.content) : renderMarkdownMessage(message.content)}
159161
{streamResponse}
160162
</div>
161163
</div>

components/landing/side/side-app-settings.tsx

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -58,11 +58,18 @@ const SideAppSettings = ({ user }: { user: User | null }) => {
5858

5959
const [enableAutoSpeech, setEnableAutoSpeech] = useAtom(store.autoSpeechAtom);
6060

61+
const [enableUserMarkdownRender, setEnableUserMarkdownRender] = useAtom(store.enableUserMarkdownRenderAtom);
62+
6163
const handleSwitchAutoSpeech = () => {
6264
setEnableAutoSpeech(!enableAutoSpeech);
6365
toast.success(`${t('Auto Speech')} ${enableAutoSpeech ? t('disabled') : t('enabled')}`);
6466
};
6567

68+
const handleSwitchUserMarkdownRender = () => {
69+
setEnableUserMarkdownRender(!enableUserMarkdownRender);
70+
toast.success(`${t('User Markdown Render')} ${enableUserMarkdownRender ? t('disabled') : t('enabled')}`);
71+
};
72+
6673
// Search
6774
const [searchEngine, setSearchEngine] = useState<string>(searchEnginesList[0].name);
6875
const [searchEngineID, setSearchEngineID] = useState<string>('');
@@ -452,6 +459,10 @@ const SideAppSettings = ({ user }: { user: User | null }) => {
452459
</button>
453460
</Tippy>
454461
</div>
462+
<div className='flex items-center space-x-1'>
463+
<Switch checked={enableUserMarkdownRender} onCheckedChange={handleSwitchUserMarkdownRender} />
464+
<Label className='px-1 font-normal'>{t('Render user message using Markdown')}</Label>
465+
</div>
455466
</div>
456467
<Separator />
457468
<Tabs defaultValue='provider' className='h-full w-full space-y-5'>

hooks/store.ts

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -21,6 +21,7 @@ const contextModeAtom = atomWithStorage<{
2121
enable: false,
2222
contextCount: 0,
2323
});
24+
const enableUserMarkdownRenderAtom = atomWithStorage<boolean>('enableUserMarkdownRender', false);
2425

2526
// Text to Speech Config
2627
const textToSpeechConfigAtom = atomWithStorage('textToSpeechConfig', {
@@ -109,6 +110,7 @@ export default {
109110
enableSystemPrompt,
110111
enablePluginsAtom,
111112
contextModeAtom,
113+
enableUserMarkdownRenderAtom,
112114
textToSpeechConfigAtom,
113115
autoSpeechAtom,
114116
searchConfigAtom,

locales/de.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "Alle Antworten automatisch vorlesen",
119119
"disabled": "deaktiviert",
120120
"enabled": "aktiviert",
121-
"New Version Available": "Neue Version verfügbar"
121+
"New Version Available": "Neue Version verfügbar",
122+
"Render user message using Markdown": "Benutzernachricht mit Markdown rendern"
122123
},
123124
"auth": {
124125
"Home": "Startseite",

locales/en.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "Auto read out all replies",
119119
"disabled": "disabled",
120120
"enabled": "enabled",
121-
"New Version Available": "New Version Available"
121+
"New Version Available": "New Version Available",
122+
"Render user message using Markdown": "Render user message using Markdown"
122123
},
123124
"auth": {
124125
"Home": "Home",

locales/es.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "Leer automáticamente todas las respuestas",
119119
"disabled": "deshabilitado",
120120
"enabled": "habilitado",
121-
"New Version Available": "Nueva Versión Disponible"
121+
"New Version Available": "Nueva Versión Disponible",
122+
"Render user message using Markdown": "Renderizar mensaje de usuario usando Markdown"
122123
},
123124
"auth": {
124125
"Home": "Inicio",

locales/fr.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "Lire automatiquement toutes les réponses",
119119
"disabled": "désactivé",
120120
"enabled": "activé",
121-
"New Version Available": "Nouvelle Version Disponible"
121+
"New Version Available": "Nouvelle Version Disponible",
122+
"Render user message using Markdown": "Rendre le message de l'utilisateur en utilisant Markdown"
122123
},
123124
"auth": {
124125
"Home": "Accueil",

locales/ja.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "すべての返信を自動的に読み上げる",
119119
"disabled": "無効になっています",
120120
"enabled": "有効になっています",
121-
"New Version Available": "新しいバージョンが利用可能です"
121+
"New Version Available": "新しいバージョンが利用可能です",
122+
"Render user message using Markdown": "Markdownを使用してユーザーメッセージをレンダリングする"
122123
},
123124
"auth": {
124125
"Home": "ホーム",

locales/kr.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "모든 응답을 자동으로 읽어줍니다",
119119
"disabled": "비활성화됨",
120120
"enabled": "활성화됨",
121-
"New Version Available": "새 버전이 있습니다"
121+
"New Version Available": "새 버전이 있습니다",
122+
"Render user message using Markdown": "마크다운을 사용하여 사용자 메시지 렌더링"
122123
},
123124
"auth": {
124125
"Home": "",

locales/ru.json

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -118,7 +118,8 @@
118118
"Auto read out all replies": "Автоматически прочитать все ответы",
119119
"disabled": "отключено",
120120
"enabled": "включено",
121-
"New Version Available": "Доступна новая версия"
121+
"New Version Available": "Доступна новая версия",
122+
"Render user message using Markdown": "Отображать сообщение пользователя с помощью Markdown"
122123
},
123124
"auth": {
124125
"Home": "Главная",

0 commit comments

Comments
 (0)