mirror of
https://github.com/ChatGPTNextWeb/ChatGPT-Next-Web.git
synced 2025-10-03 00:26:40 +08:00
commit
0d56ded11d
@ -298,24 +298,24 @@
|
|||||||
.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;
|
||||||
|
box-sizing: border-box;
|
||||||
|
font-size: 12px;
|
||||||
|
align-items: flex-end;
|
||||||
|
justify-content: space-between;
|
||||||
|
transition: all ease 0.3s;
|
||||||
|
transform: scale(0.9) translateY(5px);
|
||||||
|
margin: 0 10px;
|
||||||
|
opacity: 0;
|
||||||
|
pointer-events: none;
|
||||||
|
|
||||||
|
.chat-input-actions {
|
||||||
display: flex;
|
display: flex;
|
||||||
box-sizing: border-box;
|
flex-wrap: nowrap;
|
||||||
font-size: 12px;
|
|
||||||
align-items: flex-end;
|
|
||||||
justify-content: space-between;
|
|
||||||
transition: all ease 0.3s;
|
|
||||||
transform: scale(0.9) translateY(5px);
|
|
||||||
margin: 0 10px;
|
|
||||||
opacity: 0;
|
|
||||||
pointer-events: none;
|
|
||||||
|
|
||||||
.chat-input-actions {
|
|
||||||
display: flex;
|
|
||||||
flex-wrap: nowrap;
|
|
||||||
}
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
@ -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;
|
||||||
}
|
}
|
||||||
|
@ -1258,44 +1258,11 @@ 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
|
</div>
|
||||||
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>
|
||||||
{showTyping && (
|
{showTyping && (
|
||||||
<div className={styles["chat-message-status"]}>
|
<div className={styles["chat-message-status"]}>
|
||||||
@ -1413,11 +1380,50 @@ 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={{
|
||||||
</div>
|
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>
|
||||||
{shouldShowClearContextDivider && <ClearContextDivider />}
|
{shouldShowClearContextDivider && <ClearContextDivider />}
|
||||||
|
@ -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*/}
|
||||||
|
@ -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: {
|
||||||
|
@ -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",
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
},
|
},
|
||||||
|
@ -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",
|
||||||
},
|
},
|
||||||
|
Loading…
Reference in New Issue
Block a user