diff --git a/i18n/en.json b/i18n/en.json index 9b307d0edb..d392c88ef6 100644 --- a/i18n/en.json +++ b/i18n/en.json @@ -108,6 +108,21 @@ "image_thumbnail_quality_description": "Thumbnail quality from 1-100. Higher is better, but produces larger files and can reduce app responsiveness.", "image_thumbnail_title": "Thumbnail Settings", "import_config_from_json_description": "Import system config by uploading a JSON config file", + "integrity_checks_checksum_files": "Checksum files", + "integrity_checks_checksum_files_description": "Configure the checksum check", + "integrity_checks_checksum_files_enable_description": "Enable the checksum check", + "integrity_checks_checksum_files_percentage_limit": "Percentage limit", + "integrity_checks_checksum_files_percentage_limit_description": "Configure the maximum percentage between 0.01 and 1 for how much the checksum check should run each interval.", + "integrity_checks_checksum_files_time_limit": "Time limit", + "integrity_checks_checksum_files_time_limit_description": "Configure the maximum duration for which the checksum check should run each interval. (ms)", + "integrity_checks_missing_files": "Missing files", + "integrity_checks_missing_files_description": "Configure the frequency and enable or disable the missing files check", + "integrity_checks_missing_files_enable_description": "Enable the missing files check", + "integrity_checks_settings": "Integrity checks", + "integrity_checks_settings_description": "Manage integrity checks intervals", + "integrity_checks_untracked_files": "Untracked files", + "integrity_checks_untracked_files_description": "Configure the frequency and enable or disable the untracked files check", + "integrity_checks_untracked_files_enable_description": "Enable the untracked files check", "job_concurrency": "{job} concurrency", "job_created": "Job created", "job_not_concurrency_safe": "This job is not concurrency-safe.", diff --git a/web/src/routes/admin/system-settings/+page.svelte b/web/src/routes/admin/system-settings/+page.svelte index d5fb2a7422..fb0b14bf23 100644 --- a/web/src/routes/admin/system-settings/+page.svelte +++ b/web/src/routes/admin/system-settings/+page.svelte @@ -31,6 +31,7 @@ mdiBookshelf, mdiClockOutline, mdiDatabaseOutline, + mdiFileCheckOutline, mdiFileDocumentOutline, mdiFolderOutline, mdiImageOutline, @@ -47,6 +48,7 @@ import type { Component } from 'svelte'; import { t } from 'svelte-i18n'; import type { PageData } from './$types'; + import IntegrityChecksSettings from './IntegrityChecksSettings.svelte'; type Props = { data: PageData; @@ -82,6 +84,13 @@ key: 'image', icon: mdiImageOutline, }, + { + component: IntegrityChecksSettings, + title: $t('admin.integrity_checks_settings'), + subtitle: $t('admin.integrity_checks_settings_description'), + key: 'integrity-checks', + icon: mdiFileCheckOutline, + }, { component: JobSettings, title: $t('admin.job_settings'), diff --git a/web/src/routes/admin/system-settings/IntegrityChecksSettings.svelte b/web/src/routes/admin/system-settings/IntegrityChecksSettings.svelte new file mode 100644 index 0000000000..12b023299f --- /dev/null +++ b/web/src/routes/admin/system-settings/IntegrityChecksSettings.svelte @@ -0,0 +1,173 @@ + + +