import {ScrollableBody, ContentHeader, Container} from "@/components/app-content.tsx"; import {BadgeCheckIcon, SettingsIcon} from "lucide-react"; import {Item, ItemActions, ItemContent, ItemMedia, ItemTitle} from "@/components/ui/item.tsx"; import {Switch} from "@/components/ui/switch.tsx"; import {Button} from "@/components/ui/button.tsx"; import {TunConfigModal} from "@/components/settings/tun-config-modal.tsx"; import {useState} from "react"; import {TunConfig} from "@/lib/types.ts"; export function Settings() { const [tunModalOpen, setTunModalOpen] = useState(false); // 示例 TUN 配置数据 const [tunConfig, setTunConfig] = useState({ enable: false, stack: 'system', dnsHijack: ['0.0.0.0:53'], autoRoute: true, autoDetectInterface: true, mtu: 9000, }); const handleSaveTunConfig = (newConfig: TunConfig) => { setTunConfig(newConfig); // TODO: 这里应该调用 Tauri 命令保存配置到后端 console.log('保存 TUN 配置:', newConfig); }; const config = { auto_route: false, device: "", dns_hijack: [], enable: false, mtu: 0, stack: 'System', strict_route: false } if (!config) { return ( Settings
Loading...
); } return ( Settings App 设置 开机自启 静默启动 Clash 内核 Clash 设置 虚拟网卡模式 { setTunConfig({ ...tunConfig, enable: checked }); }} /> 允许局域网 Ipv6 统一延迟 日志等级 INFO 端口设置 杂项 App 目录 App 配置目录 内核目录 App 版本 ); }