chore: wip

This commit is contained in:
DDMeaqua
2024-10-12 14:39:25 +08:00
parent d7eee52a44
commit 5999604df4
6 changed files with 56 additions and 13 deletions

View File

@@ -10,7 +10,8 @@ import React, {
} from "react";
import SendWhiteIcon from "../icons/send-white.svg";
import VoiceWhiteIcon from "../icons/voice-white.svg";
import VoiceOpenIcon from "../icons/vioce-open.svg";
import VoiceCloseIcon from "../icons/vioce-close.svg";
import BrainIcon from "../icons/brain.svg";
import RenameIcon from "../icons/rename.svg";
import ExportIcon from "../icons/share.svg";
@@ -830,7 +831,7 @@ export function ChatActions(props: {
isListening ? await stopListening() : await startListening()
}
text={isListening ? Locale.Chat.StopSpeak : Locale.Chat.StartSpeak}
icon={<VoiceWhiteIcon />}
icon={isListening ? <VoiceOpenIcon /> : <VoiceCloseIcon />}
/>
)}
</div>

View File

@@ -2,7 +2,7 @@ import { STTConfig, STTConfigValidator } from "../store";
import Locale from "../locales";
import { ListItem, Select } from "./ui-lib";
import { DEFAULT_STT_ENGINES } from "../constant";
import { DEFAULT_STT_ENGINES, DEFAULT_STT_LANGUAGES } from "../constant";
import { isFirefox } from "../utils";
export function STTConfigList(props: {
@@ -25,20 +25,44 @@ export function STTConfigList(props: {
}
></input>
</ListItem>
{!isFirefox() && (
<ListItem title={Locale.Settings.STT.Engine.Title}>
<ListItem title={Locale.Settings.STT.Engine.Title}>
<Select
value={props.sttConfig.engine}
onChange={(e) => {
props.updateConfig(
(config) =>
(config.engine = STTConfigValidator.engine(
e.currentTarget.value,
)),
);
}}
>
{isFirefox()
? DEFAULT_STT_ENGINES.filter((v) => v !== "Web Speech API").map(
(v, i) => (
<option value={v} key={i}>
{v}
</option>
),
)
: DEFAULT_STT_ENGINES.map((v, i) => (
<option value={v} key={i}>
{v}
</option>
))}
</Select>
</ListItem>
{props.sttConfig.engine === "Web Speech API" && !isFirefox() && (
<ListItem title="语言选择">
<Select
value={props.sttConfig.engine}
value={props.sttConfig.language}
onChange={(e) => {
props.updateConfig(
(config) =>
(config.engine = STTConfigValidator.engine(
e.currentTarget.value,
)),
(config) => (config.language = e.currentTarget.value),
);
}}
>
{DEFAULT_STT_ENGINES.map((v, i) => (
{DEFAULT_STT_LANGUAGES.map((v, i) => (
<option value={v} key={i}>
{v}
</option>