import { useSmart } from '@/components/smart-context';
import { useEffect, useState } from 'react';

export function useSmartForm<T>(formId: string, defaultValues: T): T {
  const { suggestions } = useSmart();
  const [mergedValues, setMergedValues] = useState<T>(defaultValues);

  useEffect(() => {
    if (suggestions?.form_defaults) {
      // In a real app, we might want to be more selective about which fields to override
      // or prompt the user before overwriting.
      // For now, we'll just merge if the keys match.
      setMergedValues((prev) => ({
        ...prev,
        ...suggestions.form_defaults
      }));
    }
  }, [suggestions]);

  return mergedValues;
}
