import { useState, useEffect, useCallback } from 'react'; import { api } from '@/lib/api'; import type { Account } from '@/types'; export function useAccounts() { const [accounts, setAccounts] = useState([]); const [loading, setLoading] = useState(true); const refresh = useCallback(() => { api.listAccounts().then(setAccounts).finally(() => setLoading(false)); }, []); useEffect(() => { refresh(); }, [refresh]); const create = async (data: Partial) => { const acc = await api.createAccount(data); await refresh(); return acc; }; const update = (id: string, data: Partial) => api.updateAccount(id, data).then(refresh); const remove = (id: string) => api.deleteAccount(id).then(refresh); return { accounts, loading, refresh, create, update, remove }; }