import { useState, useEffect } from "react"; import { X, Info, RefreshCw, FolderOpen } from "lucide-react"; import { getVersion } from "@tauri-apps/api/app"; import "../lib/tauri-api"; import type { Settings } from "../types"; interface SettingsModalProps { onClose: () => void; } export default function SettingsModal({ onClose }: SettingsModalProps) { const [settings, setSettings] = useState({ showInDock: true, }); const [configPath, setConfigPath] = useState(""); const [version, setVersion] = useState(""); const [isCheckingUpdate, setIsCheckingUpdate] = useState(false); useEffect(() => { loadSettings(); loadConfigPath(); loadVersion(); }, []); const loadVersion = async () => { try { const appVersion = await getVersion(); setVersion(appVersion); } catch (error) { console.error("获取版本信息失败:", error); setVersion("3.1.1"); // 降级使用默认版本 } }; const loadSettings = async () => { try { const loadedSettings = await window.api.getSettings(); if (loadedSettings?.showInDock !== undefined) { setSettings({ showInDock: loadedSettings.showInDock }); } } catch (error) { console.error("加载设置失败:", error); } }; const loadConfigPath = async () => { try { const path = await window.api.getAppConfigPath(); if (path) { setConfigPath(path); } } catch (error) { console.error("获取配置路径失败:", error); } }; const saveSettings = async () => { try { await window.api.saveSettings(settings); onClose(); } catch (error) { console.error("保存设置失败:", error); } }; const handleCheckUpdate = async () => { setIsCheckingUpdate(true); try { await window.api.checkForUpdates(); } catch (error) { console.error("检查更新失败:", error); } finally { setTimeout(() => setIsCheckingUpdate(false), 2000); } }; const handleOpenConfigFolder = async () => { try { await window.api.openAppConfigFolder(); } catch (error) { console.error("打开配置文件夹失败:", error); } }; return (
{/* 标题栏 */}

设置

{/* 设置内容 */}
{/* 显示设置 - 功能还未实现 */} {/*

显示设置

*/} {/* 配置文件位置 */}

配置文件位置

{configPath || "加载中..."}
{/* 关于 */}

关于

CC Switch

版本 {version}

{/* 底部按钮 */}
); }