Merge pull request #15 from sijinhui/dev

Dev
This commit is contained in:
sijinhui 2024-02-15 10:53:07 +08:00 committed by GitHub
commit 0d56ded11d
No known key found for this signature in database
GPG Key ID: B5690EEEBB952194
6 changed files with 85 additions and 79 deletions

View File

@ -298,9 +298,10 @@
.chat-message-header { .chat-message-header {
margin-top: 20px; margin-top: 20px;
display: flex; display: flex;
align-items: center; align-items: flex-end;
}
.chat-message-actions { .chat-message-actions {
display: flex; display: flex;
box-sizing: border-box; box-sizing: border-box;
font-size: 12px; font-size: 12px;
@ -316,7 +317,6 @@
display: flex; display: flex;
flex-wrap: nowrap; flex-wrap: nowrap;
} }
}
} }
.chat-message-container { .chat-message-container {
@ -431,10 +431,11 @@
white-space: nowrap; white-space: nowrap;
transition: all ease 0.6s; transition: all ease 0.6s;
color: var(--black); color: var(--black);
text-align: right; text-align: left;
width: 100%; width: 100%;
box-sizing: border-box; box-sizing: border-box;
padding-right: 10px; padding-right: 10px;
padding-left: 10px;
pointer-events: none; pointer-events: none;
z-index: 1; z-index: 1;
} }

View File

@ -1258,45 +1258,12 @@ function _Chat() {
)} )}
</div> </div>
{showActions && ( <div className={styles["chat-message-action-date"]}>
<div className={styles["chat-message-actions"]}> {isContext
<div className={styles["chat-input-actions"]}> ? Locale.Chat.IsContext
{message.streaming ? ( : message.date.toLocaleString()}
<ChatAction
text={Locale.Chat.Actions.Stop}
icon={<StopIcon />}
onClick={() => onUserStop(message.id ?? i)}
/>
) : (
<>
<ChatAction
text={Locale.Chat.Actions.Retry}
icon={<ResetIcon />}
onClick={() => onResend(message)}
/>
<ChatAction
text={Locale.Chat.Actions.Delete}
icon={<DeleteIcon />}
onClick={() => onDelete(message.id ?? i)}
/>
<ChatAction
text={Locale.Chat.Actions.Pin}
icon={<PinIcon />}
onClick={() => onPinMessage(message)}
/>
<ChatAction
text={Locale.Chat.Actions.Copy}
icon={<CopyIcon />}
onClick={() => copyToClipboard(message.content)}
/>
</>
)}
</div> </div>
</div> </div>
)}
</div>
{showTyping && ( {showTyping && (
<div className={styles["chat-message-status"]}> <div className={styles["chat-message-status"]}>
{Locale.Chat.Typing} {Locale.Chat.Typing}
@ -1413,12 +1380,51 @@ function _Chat() {
</div> </div>
)} )}
<div className={styles["chat-message-action-date"]}> {showActions && (
{isContext <div
? Locale.Chat.IsContext className={styles["chat-message-actions"]}
: message.date.toLocaleString()} style={{
marginTop: "10px",
marginBottom: "0px",
}}
>
<div className={styles["chat-input-actions"]}>
{message.streaming ? (
<ChatAction
text={Locale.Chat.Actions.Stop}
icon={<StopIcon />}
onClick={() => onUserStop(message.id ?? i)}
/>
) : (
<>
<ChatAction
text={Locale.Chat.Actions.Retry}
icon={<ResetIcon />}
onClick={() => onResend(message)}
/>
<ChatAction
text={Locale.Chat.Actions.Delete}
icon={<DeleteIcon />}
onClick={() => onDelete(message.id ?? i)}
/>
<ChatAction
text={Locale.Chat.Actions.Pin}
icon={<PinIcon />}
onClick={() => onPinMessage(message)}
/>
<ChatAction
text={Locale.Chat.Actions.Copy}
icon={<CopyIcon />}
onClick={() => copyToClipboard(message.content)}
/>
</>
)}
</div> </div>
</div> </div>
)}
</div>
</div> </div>
{shouldShowClearContextDivider && <ClearContextDivider />} {shouldShowClearContextDivider && <ClearContextDivider />}
</Fragment> </Fragment>

View File

@ -1081,8 +1081,8 @@ export function Settings() {
{/* ></input>*/} {/* ></input>*/}
{/* </ListItem>*/} {/* </ListItem>*/}
{/* <ListItem*/} {/* <ListItem*/}
{/* title={Locale.Settings.Access.Azure.ApiKey.Title}*/} {/* title={Locale.Settings.Access.Google.ApiKey.Title}*/}
{/* subTitle={Locale.Settings.Access.Azure.ApiKey.SubTitle}*/} {/* subTitle={Locale.Settings.Access.Google.ApiKey.SubTitle}*/}
{/* >*/} {/* >*/}
{/* <PasswordInput*/} {/* <PasswordInput*/}
{/* value={accessStore.googleApiKey}*/} {/* value={accessStore.googleApiKey}*/}
@ -1099,9 +1099,9 @@ export function Settings() {
{/* />*/} {/* />*/}
{/* </ListItem>*/} {/* </ListItem>*/}
{/* <ListItem*/} {/* <ListItem*/}
{/* title={Locale.Settings.Access.Google.ApiVerion.Title}*/} {/* title={Locale.Settings.Access.Google.ApiVersion.Title}*/}
{/* subTitle={*/} {/* subTitle={*/}
{/* Locale.Settings.Access.Google.ApiVerion.SubTitle*/} {/* Locale.Settings.Access.Google.ApiVersion.SubTitle*/}
{/* }*/} {/* }*/}
{/* >*/} {/* >*/}
{/* <input*/} {/* <input*/}

View File

@ -355,19 +355,19 @@ const cn = {
}, },
Google: { Google: {
ApiKey: { ApiKey: {
Title: "接口密钥", Title: "API 密钥",
SubTitle: "使用自定义 Google AI Studio API Key 绕过密码访问限制", SubTitle: "从 Google AI 获取您的 API 密钥",
Placeholder: "Google AI Studio API Key", Placeholder: "输入您的 Google AI Studio API 密钥",
}, },
Endpoint: { Endpoint: {
Title: "接口地址", Title: "终端地址",
SubTitle: "不包含请求路径,样例:", SubTitle: "例:",
}, },
ApiVerion: { ApiVersion: {
Title: "接口版本 (gemini-pro api version)", Title: "API 版本(仅适用于 gemini-pro",
SubTitle: "选择指定的部分版本", SubTitle: "选择一个特定的 API 版本",
}, },
}, },
CustomModel: { CustomModel: {

View File

@ -363,9 +363,8 @@ const en: LocaleType = {
Google: { Google: {
ApiKey: { ApiKey: {
Title: "API Key", Title: "API Key",
SubTitle: SubTitle: "Obtain your API Key from Google AI",
"Bypass password access restrictions using a custom Google AI Studio API Key", Placeholder: "Enter your Google AI Studio API Key",
Placeholder: "Google AI Studio API Key",
}, },
Endpoint: { Endpoint: {
@ -373,9 +372,9 @@ const en: LocaleType = {
SubTitle: "Example:", SubTitle: "Example:",
}, },
ApiVerion: { ApiVersion: {
Title: "API Version (gemini-pro api version)", Title: "API Version (specific to gemini-pro)",
SubTitle: "Select a specific part version", SubTitle: "Select a specific API version",
}, },
}, },
}, },

View File

@ -334,7 +334,7 @@ const sk: PartialLocaleType = {
SubTitle: "Príklad:", SubTitle: "Príklad:",
}, },
ApiVerion: { ApiVersion: {
Title: "Verzia API (gemini-pro verzia API)", Title: "Verzia API (gemini-pro verzia API)",
SubTitle: "Vyberte špecifickú verziu časti", SubTitle: "Vyberte špecifickú verziu časti",
}, },