'use client'; import { getOAuthConfig, oAuthCreateConfig, updateOAuthConfig } from '@/services/admin/system'; import { useQuery } from '@tanstack/react-query'; import { Label } from '@workspace/ui/components/label'; import { Switch } from '@workspace/ui/components/switch'; import { Table, TableBody, TableCell, TableRow } from '@workspace/ui/components/table'; import { EnhancedInput } from '@workspace/ui/custom-components/enhanced-input'; import { useTranslations } from 'next-intl'; import { toast } from 'sonner'; export default function Page() { const t = useTranslations('github'); const { data, refetch } = useQuery({ queryKey: ['getOAuthConfig', 'github'], queryFn: async () => { const { data } = await getOAuthConfig(); return data.data?.list.find((item) => item.platform === 'github') as API.OAuthConfig; }, }); async function updateConfig(key: keyof API.OAuthConfig, value: unknown) { if (data?.[key] === value) return; try { if (data?.id) { await oAuthCreateConfig({ ...data, platform: 'github', [key]: value, } as API.OAuthConfig); } else { await updateOAuthConfig({ ...data, [key]: value, } as API.OAuthConfig); } toast.success(t('saveSuccess')); refetch(); } catch (error) { toast.error(t('saveFailed')); } } return (