feat: 实现应用设置页面,包含通用偏好、安全、数据管理及默认账户配置。
This commit is contained in:
@@ -5,10 +5,9 @@ import AppLockSettings from '../../components/settings/AppLockSettings';
|
|||||||
import { CapsuleSelector } from '../../components/common/CapsuleSelector/CapsuleSelector';
|
import { CapsuleSelector } from '../../components/common/CapsuleSelector/CapsuleSelector';
|
||||||
import { CustomSelect } from '../../components/common/CustomSelect/CustomSelect';
|
import { CustomSelect } from '../../components/common/CustomSelect/CustomSelect';
|
||||||
import { getSupportedCurrencies } from '../../services/exchangeRateService';
|
import { getSupportedCurrencies } from '../../services/exchangeRateService';
|
||||||
import { getSupportedCurrencies } from '../../services/exchangeRateService';
|
import { updateSettings, updateDefaultAccounts, getSettingsWithDefaults } from '../../services/settingsService';
|
||||||
import { getSettings, updateSettings, updateDefaultAccounts } from '../../services/settingsService';
|
|
||||||
import { getAccounts } from '../../services/accountService';
|
import { getAccounts } from '../../services/accountService';
|
||||||
import type { UserSettings, Account } from '../../types';
|
import type { UserSettings, UserSettingsWithDefaults, Account } from '../../types';
|
||||||
import { Icon } from '@iconify/react';
|
import { Icon } from '@iconify/react';
|
||||||
import { ThemePicker } from '../../components/settings/ThemePicker/ThemePicker';
|
import { ThemePicker } from '../../components/settings/ThemePicker/ThemePicker';
|
||||||
import './Settings.css';
|
import './Settings.css';
|
||||||
@@ -39,7 +38,7 @@ function Settings() {
|
|||||||
dateFormat: localStorage.getItem('dateFormat') || 'YYYY-MM-DD',
|
dateFormat: localStorage.getItem('dateFormat') || 'YYYY-MM-DD',
|
||||||
firstDayOfWeek: parseInt(localStorage.getItem('firstDayOfWeek') || '1'),
|
firstDayOfWeek: parseInt(localStorage.getItem('firstDayOfWeek') || '1'),
|
||||||
});
|
});
|
||||||
const [userSettings, setUserSettings] = useState<UserSettings | null>(null);
|
const [userSettings, setUserSettings] = useState<UserSettingsWithDefaults | null>(null);
|
||||||
const [accounts, setAccounts] = useState<Account[]>([]);
|
const [accounts, setAccounts] = useState<Account[]>([]);
|
||||||
const [saveMessage, setSaveMessage] = useState<string>('');
|
const [saveMessage, setSaveMessage] = useState<string>('');
|
||||||
|
|
||||||
@@ -55,7 +54,7 @@ function Settings() {
|
|||||||
|
|
||||||
const loadUserSettings = async () => {
|
const loadUserSettings = async () => {
|
||||||
try {
|
try {
|
||||||
const data = await getSettings();
|
const data = await getSettingsWithDefaults();
|
||||||
setUserSettings(data);
|
setUserSettings(data);
|
||||||
} catch (err) {
|
} catch (err) {
|
||||||
console.error('Failed to load user settings:', err);
|
console.error('Failed to load user settings:', err);
|
||||||
|
|||||||
Reference in New Issue
Block a user