import { useState, useEffect } from 'react' export function usePromise(promise: Promise | null) { const [result, setResult] = useState(null) const [error, setError] = useState(null) const [loading, setLoading] = useState(!!promise) useEffect(() => { if (!promise) return promise.then(setResult).catch(setError).finally(() => setLoading(false)) }, [promise]) return { result, error, loading } }