/** * SECTL 设置面板组件 */ import React, { useState } from "react" import { Card, Form, Input, Button, Space, Alert, Tag, Descriptions, message } from "antd" import { SettingOutlined, UserOutlined, CheckCircleOutlined, CloseCircleOutlined, } from "@ant-design/icons" import { useSectl } from "../contexts/SectlContext" import { SectlLoginButton } from "./SectlLoginButton" import { ScoreSyncPanel } from "./ScoreSyncPanel" import { SectlCloudStorageManager } from "./SectlCloudStorageManager" import { SectlKVStorageManager } from "./SectlKVStorageManager" export const SectlSettingsPanel: React.FC = () => { const { isAuthenticated, isLoading, userInfo, platformId, setPlatformId, refreshUserInfo } = useSectl() const [form] = Form.useForm() const [isSaving, setIsSaving] = useState(false) // 保存平台 ID 配置 const handleSaveConfig = async (values: any) => { try { setIsSaving(true) setPlatformId(values.platformId) // 保存到本地存储 localStorage.setItem("sectl_platform_id", values.platformId) message.success("配置已保存") } catch (error: any) { message.error(`保存失败:${error.message}`) } finally { setIsSaving(false) } } // 加载已保存的配置 React.useEffect(() => { const savedPlatformId = localStorage.getItem("sectl_platform_id") if (savedPlatformId) { form.setFieldsValue({ platformId: savedPlatformId }) } }, [form]) return (
{/* 认证状态卡片 */} SECTL 认证状态 } style={{ marginBottom: 24 }} >
当前状态: {isLoading ? ( 加载中... ) : isAuthenticated ? ( } color="success"> 已登录 ) : ( } color="default"> 未登录 )}
{}} />
{isAuthenticated && userInfo && ( {userInfo.user_id} {userInfo.name} {userInfo.email} {userInfo.permission} {userInfo.role} {userInfo.github_username && ( {userInfo.github_username} )} )}
{/* 平台配置卡片 */} 平台配置 } style={{ marginBottom: 24 }} >
{/* 数据同步面板 */} {/* 云存储管理 */} {/* KV 存储管理 */}
) }