From 66347e4bad9bb23c20cee514fed9811bf550ae6f Mon Sep 17 00:00:00 2001 From: Elian Doran Date: Mon, 13 Apr 2026 16:09:48 +0300 Subject: [PATCH] chore(options/backup): merge the sections together --- .../src/translations/en/translation.json | 7 +- .../widgets/type_widgets/options/backup.tsx | 69 +++++++++---------- 2 files changed, 37 insertions(+), 39 deletions(-) diff --git a/apps/client/src/translations/en/translation.json b/apps/client/src/translations/en/translation.json index 89345f0a0a..12d0f8c022 100644 --- a/apps/client/src/translations/en/translation.json +++ b/apps/client/src/translations/en/translation.json @@ -1429,11 +1429,12 @@ "formatting-locale-auto": "Based on the application's language" }, "backup": { + "title": "Backup", "automatic_backup": "Automatic backup", "automatic_backup_description": "Trilium can back up the database automatically:", - "enable_daily_backup": "Enable daily backup", - "enable_weekly_backup": "Enable weekly backup", - "enable_monthly_backup": "Enable monthly backup", + "enable_daily_backup": "Backup daily", + "enable_weekly_backup": "Backup weekly", + "enable_monthly_backup": "Backup monthly", "backup_recommendation": "It's recommended to keep the backup turned on, but this can make application startup slow with large databases and/or slow storage devices.", "backup_now": "Backup now", "backup_database_now": "Backup database now", diff --git a/apps/client/src/widgets/type_widgets/options/backup.tsx b/apps/client/src/widgets/type_widgets/options/backup.tsx index 5d5a89d072..cc31d5cdc2 100644 --- a/apps/client/src/widgets/type_widgets/options/backup.tsx +++ b/apps/client/src/widgets/type_widgets/options/backup.tsx @@ -6,14 +6,13 @@ import server from "../../../services/server"; import toast from "../../../services/toast"; import { formatDateTime } from "../../../utils/formatters"; import Button from "../../react/Button"; -import FormCheckbox from "../../react/FormCheckbox"; -import { FormMultiGroup } from "../../react/FormGroup"; import FormText from "../../react/FormText"; import { useTriliumOptionBool } from "../../react/hooks"; +import { OptionsRowWithButton, OptionsRowWithToggle } from "./components/OptionsRow"; import OptionsSection from "./components/OptionsSection"; export default function BackupSettings() { - const [ backups, setBackups ] = useState([]); + const [backups, setBackups] = useState([]); const refreshBackups = useCallback(() => { server.get("database/backups").then((backupFiles) => { @@ -26,56 +25,54 @@ export default function BackupSettings() { setBackups(backupFiles); }); - }, [ setBackups ]); + }, [setBackups]); useEffect(refreshBackups, []); return ( <> - - + ); } -export function AutomaticBackup() { - const [ dailyBackupEnabled, setDailyBackupEnabled ] = useTriliumOptionBool("dailyBackupEnabled"); - const [ weeklyBackupEnabled, setWeeklyBackupEnabled ] = useTriliumOptionBool("weeklyBackupEnabled"); - const [ monthlyBackupEnabled, setMonthlyBackupEnabled ] = useTriliumOptionBool("monthlyBackupEnabled"); +export function BackupConfiguration({ refreshCallback }: { refreshCallback: () => void }) { + const [dailyBackupEnabled, setDailyBackupEnabled] = useTriliumOptionBool("dailyBackupEnabled"); + const [weeklyBackupEnabled, setWeeklyBackupEnabled] = useTriliumOptionBool("weeklyBackupEnabled"); + const [monthlyBackupEnabled, setMonthlyBackupEnabled] = useTriliumOptionBool("monthlyBackupEnabled"); return ( - - - + + {t("backup.automatic_backup_description")} - + - - + + + {t("backup.backup_recommendation")} - - ); -} -export function BackupNow({ refreshCallback }: { refreshCallback: () => void }) { - return ( - -