import { useState, useEffect } from 'react'; import PageMeta from "../../components/common/PageMeta"; import ComponentCard from "../../components/common/ComponentCard"; import { useSettingsStore } from '../../store/settingsStore'; import { useToast } from '../../components/ui/toast/ToastContainer'; import Button from '../../components/ui/button/Button'; import Label from '../../components/form/Label'; import InputField from '../../components/form/input/InputField'; import Select from '../../components/form/Select'; export default function GeneralSettings() { const toast = useToast(); const { accountSettings, loading, loadAccountSettings, updateAccountSetting } = useSettingsStore(); // Form state const [tableSettings, setTableSettings] = useState({ records_per_page: 20, default_sort: 'created_at', default_sort_direction: 'desc', }); useEffect(() => { loadAccountSettings(); }, [loadAccountSettings]); useEffect(() => { if (accountSettings['table_settings']) { setTableSettings(accountSettings['table_settings'].config); } }, [accountSettings]); const handleSave = async () => { try { await updateAccountSetting('table_settings', tableSettings); toast.success('Settings saved successfully'); } catch (error: any) { toast.error(`Failed to save settings: ${error.message}`); } }; return ( <> {/* Table Settings */} Table Settings Records Per Page setTableSettings({ ...tableSettings, records_per_page: parseInt(e.target.value) || 20 })} /> Default Sort Field setTableSettings({ ...tableSettings, default_sort: e.target.value })} /> Default Sort Direction setTableSettings({ ...tableSettings, default_sort_direction: value as 'asc' | 'desc' })} /> {loading ? 'Saving...' : 'Save Settings'} > ); }