'use client'; import { getRegisterConfig, updateRegisterConfig } from '@/services/admin/system'; import { EnhancedInput } from '@repo/ui/enhanced-input'; import { Label } from '@shadcn/ui/label'; import { toast } from '@shadcn/ui/lib/sonner'; import { Switch } from '@shadcn/ui/switch'; import { Table, TableBody, TableCell, TableRow } from '@shadcn/ui/table'; import { Textarea } from '@shadcn/ui/textarea'; import { useQuery } from '@tanstack/react-query'; import { useTranslations } from 'next-intl'; export default function Register() { const t = useTranslations('system.register'); const { data, refetch } = useQuery({ queryKey: ['getRegisterConfig'], queryFn: async () => { const { data } = await getRegisterConfig(); return data.data; }, }); async function updateConfig(key: string, value: unknown) { if (data?.[key] === value) return; try { await updateRegisterConfig({ ...data, [key]: value, } as API.GetRegisterConfigResponse); toast.success(t('saveSuccess')); refetch(); } catch (error) { /* empty */ } } return (

{t('stopNewUserRegistrationDescription')}

{ updateConfig('stop_register', checked); }} />

{t('emailVerificationDescription')}

{ updateConfig('enable_email_verify', checked); }} />

{t('emailSuffixWhitelistDescription')}

{ updateConfig('enable_email_domain_suffix', checked); }} />

{t('whitelistSuffixesDescription')}