| import { useEffect } from 'react' | |
| import { formatTotalCost, saveCurrentSessionCosts } from './cost-tracker.js' | |
| import { hasConsoleBillingAccess } from './utils/billing.js' | |
| import type { FpsMetrics } from './utils/fpsTracker.js' | |
| export function useCostSummary( | |
| getFpsMetrics?: () => FpsMetrics | undefined, | |
| ): void { | |
| useEffect(() => { | |
| const f = () => { | |
| if (hasConsoleBillingAccess()) { | |
| process.stdout.write('\n' + formatTotalCost() + '\n') | |
| } | |
| saveCurrentSessionCosts(getFpsMetrics?.()) | |
| } | |
| process.on('exit', f) | |
| return () => { | |
| process.off('exit', f) | |
| } | |
| }, []) | |
| } | |