diff --git a/frontend/public/locales/en-GB/translation.json b/frontend/public/locales/en-GB/translation.json index d5fdab103..546d23124 100644 --- a/frontend/public/locales/en-GB/translation.json +++ b/frontend/public/locales/en-GB/translation.json @@ -3504,7 +3504,7 @@ "saved": "Settings saved successfully", "saveSuccess": "Settings saved successfully", "save": "Save Changes", - "restartRequired": "Settings changes require a server restart to take effect.", + "restartRequired": "Restart Required", "restart": { "title": "Restart Required", "message": "Settings have been saved successfully. A server restart is required for the changes to take effect.", diff --git a/frontend/src/components/shared/config/configSections/AdminAdvancedSection.tsx b/frontend/src/components/shared/config/configSections/AdminAdvancedSection.tsx index 50e0dd1a6..c1382afc2 100644 --- a/frontend/src/components/shared/config/configSections/AdminAdvancedSection.tsx +++ b/frontend/src/components/shared/config/configSections/AdminAdvancedSection.tsx @@ -259,32 +259,34 @@ export default function AdminAdvancedSection() { {t('admin.settings.advanced.processing', 'Processing')}
- - setSettings({ ...settings, maxDPI: Number(value) })} - min={0} - max={3000} - style={{ flex: 1 }} - /> - - + + {t('admin.settings.advanced.maxDPI', 'Maximum DPI')} + + + } + description={t('admin.settings.advanced.maxDPI.description', 'Maximum DPI for image processing (0 = unlimited)')} + value={settings.maxDPI || 0} + onChange={(value) => setSettings({ ...settings, maxDPI: Number(value) })} + min={0} + max={3000} + />
- - setSettings({ ...settings, tessdataDir: e.target.value })} - placeholder="/usr/share/tessdata" - style={{ flex: 1 }} - /> - - + + {t('admin.settings.advanced.tessdataDir', 'Tessdata Directory')} + + + } + description={t('admin.settings.advanced.tessdataDir.description', 'Path to the directory containing Tessdata files for OCR')} + value={settings.tessdataDir || ''} + onChange={(e) => setSettings({ ...settings, tessdataDir: e.target.value })} + placeholder="/usr/share/tessdata" + />
diff --git a/frontend/src/components/shared/config/configSections/AdminDatabaseSection.tsx b/frontend/src/components/shared/config/configSections/AdminDatabaseSection.tsx index bb4afc0be..b724bbb03 100644 --- a/frontend/src/components/shared/config/configSections/AdminDatabaseSection.tsx +++ b/frontend/src/components/shared/config/configSections/AdminDatabaseSection.tsx @@ -128,17 +128,25 @@ export default function AdminDatabaseSection() { {t('admin.settings.database.enableCustom.description', 'Use your own custom database configuration instead of the default embedded database')} - setSettings({ ...settings, enableCustomDatabase: e.target.checked })} - /> + + setSettings({ ...settings, enableCustomDatabase: e.target.checked })} + /> + + {settings.enableCustomDatabase && ( <>
+ {t('admin.settings.database.customUrl', 'Custom Database URL')} + + + } description={t('admin.settings.database.customUrl.description', 'Full JDBC connection string (e.g., jdbc:postgresql://localhost:5432/postgres). If provided, individual connection settings below are not used.')} value={settings.customDatabaseUrl || ''} onChange={(e) => setSettings({ ...settings, customDatabaseUrl: e.target.value })} @@ -148,7 +156,12 @@ export default function AdminDatabaseSection() {