import { useState, useEffect } from 'react' import { Card, Select, Switch, Typography, message, Space, Descriptions, Button, } from 'antd' import api from '../../api/client' const { Title } = Typography const strategies = [ { value: 'round-robin', label: 'Round-Robin' }, { value: 'weighted', label: 'Weighted' }, { value: 'least-conn', label: 'Least Connections' }, ] export default function SettingsPage() { const [strategy, setStrategy] = useState('weighted') const [multicastEnabled, setMulticastEnabled] = useState(true) const [multicastAvailable, setMulticastAvailable] = useState(false) const [saving, setSaving] = useState(false) useEffect(() => { loadSettings() }, []) async function loadSettings() { try { const { data } = await api.get('/nodes/strategy') setStrategy(data.strategy) setMulticastEnabled(data.multicast_enabled) setMulticastAvailable(data.multicast_available) } catch { /* ignore */ } } async function saveStrategy(val: string) { setSaving(true) try { await api.put('/nodes/strategy', { strategy: val, multicast_enabled: multicastEnabled }) setStrategy(val) message.success('Strategy updated') } catch { message.error('Update failed') } setSaving(false) } async function toggleMulticast(val: boolean) { setMulticastEnabled(val) try { await api.put('/nodes/strategy', { strategy, multicast_enabled: val }) message.success('Multicast settings updated') } catch { message.error('Update failed') } } return (