(
- () => getSettingTabsConfiguration(localConfig, localModels, t),
- [t, localConfig, localModels]
+ () =>
+ getSettingTabsConfiguration(
+ localConfig,
+ localModels,
+ t,
+ voices,
+ refreshVoices,
+ isLoading
+ ),
+ [t, localConfig, localModels, voices, refreshVoices, isLoading]
);
const currConv = useMemo(() => viewingChat?.conv ?? null, [viewingChat]);
@@ -732,6 +759,15 @@ export default function Settings() {
return null;
}
};
+ useEffect(() => {
+ fetchModels(localConfig);
+ }, [config.provider, fetchModels, localConfig]);
+
+ useEffect(() => {
+ if (lang !== i18n.language) {
+ i18n.changeLanguage(lang);
+ }
+ }, [lang, i18n]);
return (
diff --git a/src/types/configuration.ts b/src/types/configuration.ts
index c3901ca3..7aab0903 100644
--- a/src/types/configuration.ts
+++ b/src/types/configuration.ts
@@ -26,6 +26,10 @@ export interface Configuration {
showRawUserMessage: boolean;
showRawAssistantMessage: boolean;
+ /* text to speech */
+ ttsServerIp: string;
+ ttsServerPort: string;
+
/* conversations */
pasteLongTextToFileLen: number;
pdfAsImage: boolean;