import { useEffect, useState } from 'react'; import Form from 'antd/es/form'; import InputNumber from 'antd/es/input-number'; import Button from 'antd/es/button'; import Typography from 'antd/es/typography'; import message from 'antd/es/message'; import Card from 'antd/es/card'; import { fetchAdminSettings, updateAdminSettings } from './adminSettingsApi'; const { Title, Text } = Typography; export default function Settings() { const [form] = Form.useForm(); const [loading, setLoading] = useState(true); useEffect(() => { fetchAdminSettings() .then(s => { form.setFieldsValue({ cartExpiryHours: s.cartExpiryHours }); }) // A rejection here used to leave the form spinning indefinitely. .catch(() => message.error('Could not load settings')) .finally(() => setLoading(false)); }, [form]); async function handleSave() { const values = await form.validateFields(); await updateAdminSettings(values); message.success('Settings saved'); } return ( Cart Settings How long an item stays reserved in a customer's cart before it's automatically released back to available inventory.
); }