diff --git a/client/src/components/Admin/BackupPanel.tsx b/client/src/components/Admin/BackupPanel.tsx
index fb62ed94..c1fd0483 100644
--- a/client/src/components/Admin/BackupPanel.tsx
+++ b/client/src/components/Admin/BackupPanel.tsx
@@ -4,6 +4,7 @@ import { useToast } from '../shared/Toast'
import { Download, Trash2, Plus, RefreshCw, RotateCcw, Upload, Clock, Check, HardDrive, AlertTriangle } from 'lucide-react'
import { useTranslation } from '../../i18n'
import { useSettingsStore } from '../../store/settingsStore'
+import CustomSelect from '../shared/CustomSelect'
import { getApiErrorMessage } from '../../types'
const INTERVAL_OPTIONS = [
@@ -355,12 +356,11 @@ export default function BackupPanel() {
{autoSettings.interval !== 'hourly' && (
-
+ />
{t('backup.auto.hourHint', { format: is12h ? '12h' : '24h' })}{serverTimezone ? ` (Timezone: ${serverTimezone})` : ''}
@@ -408,15 +404,12 @@ export default function BackupPanel() {
{autoSettings.interval === 'monthly' && (
-
+
handleAutoSettingsChange('day_of_month', parseInt(v, 10))}
+ size="sm"
+ options={DAYS_OF_MONTH.map(d => ({ value: String(d), label: String(d) }))}
+ />
{t('backup.auto.dayOfMonthHint')}
)}
diff --git a/client/vite.config.js b/client/vite.config.js
index a2d3632d..61e54935 100644
--- a/client/vite.config.js
+++ b/client/vite.config.js
@@ -8,6 +8,7 @@ export default defineConfig({
VitePWA({
registerType: 'autoUpdate',
workbox: {
+ maximumFileSizeToCacheInBytes: 5 * 1024 * 1024,
globPatterns: ['**/*.{js,css,html,svg,png,woff,woff2,ttf}'],
navigateFallback: 'index.html',
navigateFallbackDenylist: [/^\/api/, /^\/uploads/],