* Refactor translation imports and update text for localization across settings and system monitor routes - Changed translation import from 'react-i18next' to '@/i18n/react-i18next-compat' in multiple files. - Updated various text strings to use translation keys for better localization support in: - Local API Server settings - MCP Servers settings - Privacy settings - Provider settings - Shortcuts settings - System Monitor - Thread details - Ensured consistent use of translation keys for all user-facing text. Update web-app/src/routes/settings/appearance.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Update web-app/src/routes/settings/appearance.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Update web-app/src/locales/vn/settings.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Update web-app/src/containers/dialogs/DeleteMCPServerConfirm.tsx Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> Update web-app/src/locales/id/common.json Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com> * Add Chinese (Simplified and Traditional) localization files for various components - Created `tools.json`, `updater.json`, `assistants.json`, `chat.json`, `common.json`, `hub.json`, `logs.json`, `mcp-servers.json`, `provider.json`, `providers.json`, `settings.json`, `setup.json`, `system-monitor.json`, `tool-approval.json` in both `zh-CN` and `zh-TW` locales. - Added translations for tool approval, updater notifications, assistant management, chat interface, common UI elements, hub interactions, logging messages, MCP server configurations, provider management, settings options, setup instructions, and system monitoring. * Refactor localization strings for improved clarity and consistency in English, Indonesian, and Vietnamese settings files * Fix missing key and reword * fix pr comment --------- Co-authored-by: ellipsis-dev[bot] <65095814+ellipsis-dev[bot]@users.noreply.github.com>
46 lines
1.2 KiB
TypeScript
46 lines
1.2 KiB
TypeScript
import { Input } from '@/components/ui/input'
|
|
import { useLocalApiServer } from '@/hooks/useLocalApiServer'
|
|
import { useState, useEffect } from 'react'
|
|
import { useTranslation } from '@/i18n/react-i18next-compat'
|
|
|
|
export function TrustedHostsInput() {
|
|
const { trustedHosts, setTrustedHosts } = useLocalApiServer()
|
|
const [inputValue, setInputValue] = useState(trustedHosts.join(', '))
|
|
const { t } = useTranslation()
|
|
|
|
// Update input value when trustedHosts changes externally
|
|
useEffect(() => {
|
|
setInputValue(trustedHosts.join(', '))
|
|
}, [trustedHosts])
|
|
|
|
const handleChange = (e: React.ChangeEvent<HTMLInputElement>) => {
|
|
const value = e.target.value
|
|
setInputValue(value)
|
|
}
|
|
|
|
const handleBlur = () => {
|
|
// Split by comma and clean up each host
|
|
const hosts = inputValue
|
|
.split(',')
|
|
.map((host) => host.trim())
|
|
.filter((host) => host.length > 0)
|
|
|
|
// Remove duplicates
|
|
const uniqueHosts = [...new Set(hosts)]
|
|
|
|
setTrustedHosts(uniqueHosts)
|
|
setInputValue(uniqueHosts.join(', '))
|
|
}
|
|
|
|
return (
|
|
<Input
|
|
type="text"
|
|
value={inputValue}
|
|
onChange={handleChange}
|
|
onBlur={handleBlur}
|
|
className="w-full h-8 text-sm"
|
|
placeholder={t('common:enterTrustedHosts')}
|
|
/>
|
|
)
|
|
}
|