diff --git a/web/src/components/Config.jsx b/web/src/components/Config.jsx
index e5e56c2..a835888 100644
--- a/web/src/components/Config.jsx
+++ b/web/src/components/Config.jsx
@@ -183,8 +183,8 @@ export default function Config({ api }) {
)}
{activePanel === 'locale' && (
)}
@@ -392,7 +392,8 @@ function PanelProviders({ providers, editProvider, providerForm, setProviderForm
- {p.model || '—'}
+ {p.active && active}
+ {p.model && p.model !== p.name && {p.model}}
@@ -460,9 +461,29 @@ function PanelUpdates({ updates, checking, updating, needsUpdateCount, installed
)
}
-function PanelLocale({ language, keyboard, layouts, setLanguage, setKeyboard, t }) {
+function PanelLocale({ language, keyboard, layouts, api, t }) {
+ const [saving, setSaving] = useState(false)
+ const [toast, setToast] = useState(null)
+
+ const showToast = (msg) => {
+ setToast(msg)
+ setTimeout(() => setToast(null), 2500)
+ }
+
+ const handleSave = async () => {
+ setSaving(true)
+ try {
+ await api.savePreferences({ language, keyboard_layout: keyboard })
+ showToast(t('config.saved'))
+ } catch (err) {
+ showToast(`${t('config.error')}: ${err.message}`)
+ }
+ setSaving(false)
+ }
+
return (
+ {toast &&
{toast}
}
{t('config.language')}
@@ -491,6 +512,11 @@ function PanelLocale({ language, keyboard, layouts, setLanguage, setKeyboard, t
))}
+
+
+
)
}