Skip to content

Commit c5985e8

Browse files
committed
[feat] add option to hide initial message for new chats
1 parent ff6037c commit c5985e8

File tree

12 files changed

+30
-1
lines changed

12 files changed

+30
-1
lines changed

src/renderer/components/Message.tsx

+9-1
Original file line numberDiff line numberDiff line change
@@ -11,14 +11,15 @@ import SmartToyIcon from '@mui/icons-material/SmartToy'
1111
import SettingsIcon from '@mui/icons-material/Settings'
1212
import { useTranslation } from 'react-i18next'
1313
import { Message, SessionType } from '../../shared/types'
14-
import { useAtomValue, useSetAtom } from 'jotai'
14+
import { useAtom, useAtomValue, useSetAtom } from 'jotai'
1515
import {
1616
showMessageTimestampAtom,
1717
showModelNameAtom,
1818
showTokenCountAtom,
1919
showWordCountAtom,
2020
openSettingDialogAtom,
2121
enableMarkdownRenderingAtom,
22+
settingsAtom,
2223
} from '../stores/atoms'
2324
import { currsentSessionPicUrlAtom, showTokenUsedAtom } from '../stores/atoms'
2425
import * as scrollActions from '../stores/scrollActions'
@@ -44,6 +45,7 @@ export interface Props {
4445
export default function Message(props: Props) {
4546
const { t } = useTranslation()
4647
const theme = useTheme()
48+
4749

4850
const showMessageTimestamp = useAtomValue(showMessageTimestampAtom)
4951
const showModelName = useAtomValue(showModelNameAtom)
@@ -102,6 +104,11 @@ export default function Message(props: Props) {
102104
}
103105
}, [msg.content])
104106

107+
const hideInitMsg = () => {
108+
const [settings, _1] = useAtom(settingsAtom);
109+
return settings.hideInitialMessage;
110+
}
111+
105112
let content = msg.content
106113
if (typeof msg.content !== 'string') {
107114
content = JSON.stringify(msg.content)
@@ -146,6 +153,7 @@ export default function Message(props: Props) {
146153
[theme.breakpoints.down('sm')]: {
147154
paddingX: '0.3rem',
148155
},
156+
display: msg?.role === 'system' && hideInitMsg() ? "none" : "initial"
149157
}}
150158
>
151159
<Grid container wrap="nowrap" spacing={1.5}>

src/renderer/i18n/locales/de/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"theme": "Thema",
44
"show message word count": "Wortanzahl anzeigen",
55
"show message token count": "Tokenanzahl anzeigen",
6+
"hide initial message": "Anfangsgespräch verstecken",
67
"show message token usage": "Token-Nutzung anzeigen",
78
"show model name": "Modellname anzeigen",
89
"show message timestamp": "Zeitstempel anzeigen",

src/renderer/i18n/locales/en/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"show message word count": "Show message word count",
55
"show message token count": "Show message token count",
66
"show message token usage": "Show message token usage",
7+
"hide initial message": "Hide initial message",
78
"show model name": "Show model name",
89
"show message timestamp": "Show message timestamp",
910
"proxy": "Proxy",

src/renderer/i18n/locales/fr/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"show message word count": "Afficher le nombre de mots du message",
55
"show message token count": "Afficher le nombre de jetons du message",
66
"show message token usage": "Afficher l'utilisation des jetons du message",
7+
"hide initial message": "Masquer le message initial",
78
"show model name": "Afficher le nom du modèle",
89
"show message timestamp": "Afficher l'horodatage du message",
910
"proxy": "Proxy",

src/renderer/i18n/locales/ja/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"show message word count": "メッセージの単語数を表示",
55
"show message token count": "メッセージのトークン数を表示",
66
"show message token usage": "メッセージのトークン使用状況を表示",
7+
"hide initial message": "初期メッセージを非表示にする",
78
"show model name": "モデル名を表示",
89
"show message timestamp": "メッセージのタイムスタンプを表示",
910
"proxy": "プロキシ",

src/renderer/i18n/locales/ko/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"show message word count": "메시지 단어 수 표시",
55
"show message token count": "메시지 토큰 수 표시",
66
"show message token usage": "메시지 토큰 사용량 표시",
7+
"hide initial message": "초기 대화 프롬프트 숨기기",
78
"show model name": "모델 이름 표시",
89
"show message timestamp": "메시지 타임스탬프 표시",
910
"proxy": "프록시",

src/renderer/i18n/locales/ru/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"show message word count": "Показать количество слов в сообщении",
55
"show message token count": "Показать количество токенов в сообщении",
66
"show message token usage": "Показать использование токенов в сообщении",
7+
"hide initial message": "Скрыть начальное сообщение",
78
"show model name": "Показать название модели",
89
"show message timestamp": "Показать временную метку сообщения",
910
"proxy": "Прокси",

src/renderer/i18n/locales/zh-Hans/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -3,6 +3,7 @@
33
"theme": "主题",
44
"show message word count": "显示消息的字数统计",
55
"show message token count": "显示消息的 token 数量",
6+
"hide initial message": "隐藏初始对话提示",
67
"show message token usage": "显示消息的 token 消耗",
78
"show model name": "显示模型名称",
89
"show message timestamp": "显示消息的时间戳",

src/renderer/i18n/locales/zh-Hant/translation.json

+1
Original file line numberDiff line numberDiff line change
@@ -4,6 +4,7 @@
44
"show message word count": "顯示消息的字數",
55
"show message token count": "顯示消息的 token 數量",
66
"show message token usage": "顯示消息的 token 消耗",
7+
"hide initial message": "隱藏初始對話提示",
78
"show model name": "顯示模型名稱",
89
"show message timestamp": "顯示消息的時間戳",
910
"proxy": "代理",

src/renderer/pages/SettingDialog/DisplaySettingTab.tsx

+11
Original file line numberDiff line numberDiff line change
@@ -97,6 +97,17 @@ export default function DisplaySettingTab(props: {
9797
})
9898
}
9999
/>
100+
<FormControlLabel
101+
control={<Switch />}
102+
label={t('hide initial message')}
103+
checked={settingsEdit.hideInitialMessage}
104+
onChange={(e, checked) =>
105+
setSettingsEdit({
106+
...settingsEdit,
107+
hideInitialMessage: checked,
108+
})
109+
}
110+
/>
100111
</FormGroup>
101112
</Box>
102113
)

src/shared/defaults.ts

+1
Original file line numberDiff line numberDiff line change
@@ -36,6 +36,7 @@ export function settings(): Settings {
3636
showTokenUsed: true,
3737
showModelName: true,
3838
showMessageTimestamp: false,
39+
hideInitialMessage: false,
3940
userAvatarKey: '',
4041
theme: Theme.FollowSystem,
4142
language: 'en',

src/shared/types.ts

+1
Original file line numberDiff line numberDiff line change
@@ -126,6 +126,7 @@ export interface Settings extends ModelSettings {
126126
showTokenUsed?: boolean
127127
showModelName?: boolean
128128
showMessageTimestamp?: boolean
129+
hideInitialMessage?: boolean
129130

130131
theme: Theme
131132
language: Language

0 commit comments

Comments
 (0)