前端: 添加设置页面组件

This commit is contained in:
Frontend Developer 2026-03-10 08:17:17 +00:00
parent 6fa87784a9
commit c75ecc7df1

View File

@ -0,0 +1,83 @@
import React, { useState } from 'react';
import { Card, Switch, Select, Button, Progress } from 'antd';
function Settings() {
const [darkMode, setDarkMode] = use const [language,State(false);
setLanguage] = useState('zh-CN');
const [autoSync, setAutoSync] = useState(true);
const [syncFrequency, setSyncFrequency] = useState('5');
const [wifiOnly, setWifiOnly] = useState(true);
const storageUsed = 2.1 * 1024; // MB
const storageLimit = 10 * 1024; // MB
return (
<div style={{ padding: '20px' }}>
<h1>设置</h1>
{/* 主题设置 */}
<Card title="主题设置" style={{ marginBottom: '16px' }}>
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
<span>深色模式</span>
<Switch checked={darkMode} onChange={setDarkMode} />
</div>
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginTop: '16px' }}>
<span>语言</span>
<Select
value={language}
onChange={setLanguage}
style={{ width: 150 }}
options={[
{ value: 'zh-CN', label: '简体中文' },
{ value: 'en-US', label: 'English' }
]}
/>
</div>
</Card>
{/* 同步设置 */}
<Card title="同步设置" style={{ marginBottom: '16px' }}>
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between' }}>
<span>自动同步</span>
<Switch checked={autoSync} onChange={setAutoSync} />
</div>
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginTop: '16px' }}>
<span>同步频率</span>
<Select
value={syncFrequency}
onChange={setSyncFrequency}
style={{ width: 150 }}
disabled={!autoSync}
options={[
{ value: '1', label: '每1分钟' },
{ value: '5', label: '每5分钟' },
{ value: '15', label: '每15分钟' },
{ value: '30', label: '每30分钟' }
]}
/>
</div>
<div style={{ display: 'flex', alignItems: 'center', justifyContent: 'space-between', marginTop: '16px' }}>
<span> WiFi 同步</span>
<Switch checked={wifiOnly} onChange={setWifiOnly} />
</div>
</Card>
{/* 存储设置 */}
<Card title="存储设置">
<div style={{ marginBottom: '16px' }}>
<span>存储空间: {storageUsed.toFixed(1)} MB / {storageLimit} MB</span>
<Progress
percent={Math.round((storageUsed / storageLimit) * 100)}
status="active"
/>
</div>
<div style={{ display: 'flex', gap: '8px' }}>
<Button>清理缓存</Button>
<Button>更改目录</Button>
</div>
</Card>
</div>
);
}
export default Settings;